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语句挨个执行了一遍)
原文地址:https://www.cnblogs.com/qufanblog/p/7207044.html