mysql 常用命令
一,创建数据表
1.1,创建数据库
CREATE DATABASE IF NOT EXISTS `db1` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci */; // /*!40100 some thing */ 这种注释是MySQL特有的注释格式。 // 由于 /* some thing */ 是一种注释格式,所以数据库会忽略掉其中的语句。 // 但是 /*! some thing */ 是MySQL特用的注释格式,其他的数据库依然会忽略掉其中的语句,但是MySQL将执行其中的语句。 // 而 /*!40100 some thing */ 这种注释格式中的 “40100”是指的MySQL的版本号,当目标数据库的版本大于这个值时,注释中的语句将执行,否则不执行其中的语句。
1.2,删除数据库
DROP DATABASE IF EXISTS `db1` ;
2.1,创建表
create table `teachers`( id int not null PRIMARY KEY auto_increment comment 'id', name varchar(20) not null default '' comment ' ', age int not null default 0 comment '' ) engine= InnoDB comment= '注释';
2.2 删除表
DROP TABLE `table1`
2.3 索引
//创建索引
ALTER TABLE table_name ADD INDEX index_name (`col`, `col2`) ALTER TABLE table_name ADD UNIQUE (`col1`)
//查看一张表上的索引
show index from table_name
//删除索引ALTER
TABLE
table_name
DROP
INDEX
index_name
DROP
INDEX
index_name
ON
talbe_name
3.1,修改字段
alter table `teachers` modify column `name` varchar(50)
3.2,修改字段(添加默认值)
//修改字段时需要把字段类型加上 alter table `teachers` modify column `name` varchar(50) default 'ok'
3.3,添加字段
alter table test add column sex int not null default 0;
4,添加注解
alter table test comment='这是一个测试表' alter table test modify column name varchar(100) comment '学生名字' //修改表字段时候,需要把字段类型加上
5,导出备份数据
mysqldump -u root -p --databases db1 db2 > dump.sql // 可以同时导出多个数据库,数据库名称用空格间隔即可。同时导出结构与数据 mysqldump -u root -p db1 db2 > dump.sql //如果不加 --databases 参数,怎导出的sql文件中不包含创建数据库的语句 mysqldump -u username -p -all-databases > dump.sql //同时备份所用的数据 mysqldump -u root -p --databases -d db1 db2 > dump.sql // -d参数的全拼是: --no-data // 可以同时导出多个数据库,数据库名称用空格间隔即可。只导出结构
5.1 mysqldump 1449
mysqldump: Got error: 1449: The user specified as a definer ('xxxerp'@'%') does not exist when using LOCK TABLES
如果导出数据时出现上述错误,可以在mysqldump命令中加上 -x 参数。
6,还原数据
mysql -u root -p < dump.sql //还原数据(原理上就是将sql文件里的sql语句挨个执行了一遍)