数据库连接:mysql -u用户名 -p密码 [-h127.0.0.1] 数据库创建:create database 数据库名称 查看已创建的数据库:show databases 删除数据库:drop database 数据库名称 创建表: CREATE TABLE 表名 ( 字段名,数据类型, 字段名,数据类型, ..... ) 删除表:drop table 表名 查看表的基本结构:DESCRIBE 表名; (简写:DESC 表名) 添加主键: (1)id int primary key, (2)Primary key(id) 多字段联合主键:primary key(name, deptId) 添加外键:Constraint 外键名 foreign key(字段名) references 主表名(主键名) 添加唯一约束:name varchar unique 添加非空约束:name varchar not null 添加默认约束:sex varchar default ‘男’ 设置属性值自动增加:id int primary key auto_increment 插入单条数据:insert into 表名(字段名) values(数据) 插入多条数据:insert into 表名(字段名) values(数据1),(数据2),(数据3); 更新数据:update 表名 set 字段名1 = 内容1, 字段名2 = 内容2, 字段名3 = 内容3 where 过滤条件; 删除单条数据:delete from 表名 where 条件语句; 删除表中所有行:delete from 表名; 创建一个表结构与 tabale2一模一样的表,只复制结构不复制数据:create table table1 as select * from table2 where 1=2; 创建一个表结构与 table2一模一样的表,复制结构同时也复制数据:create table table1 as select * from table2; 创建一个表结构与 table2一模一样的表,复制结构同时也复制数据:create table table1(columns1,columns2) as select columns1,columns2 from table2; 在表中添加字段:alter table 表名 add 新字段名 数据类型 [约束条件] [FIRST|AFTER] 已存在字段名; 删除表中字段:alter table 表名 drop 字段名; 修改表中字段位置:alter table 表名 modify 字段1 数据类型 FIRST|AFTER 字段2; 修改表中字段名:alter table 表名 change 旧字段名 新字段名 新数据类型; 修改表中字段数据类型:alter table 表名 modify 字段名 数据类型; 在表中添加唯一约束:alter table 表名 add canstraint 唯一约束名 unique(列名); 删除表中的外键约束:alter table 表名 drop foreign key 外键约束名; 修改表名:alter table 旧表名 rename 新表名; Show tables展示数据库以及表名; 查询:select 字段名 from 表名; Year()获取date数据类型的年份; 查询不重复的字段:select distinct 字段名 from 表名; 范围查询:select 字段名 from 表名 where 字段名 between n1 and n2; 模糊匹配:select 字段名 from 表名 where 字段名 like '字符%';select 字段名 from 表名 where 字段名 like '字符_'; Group by分组查询: select [聚合函数] 字段名 from 表名 [where 查询条件] [group by 字段名] [having 判断条件]; Order by排序:desc降序; 函数:sum, avg, max, min, substring, count Limit限制查询数量:select 字段名 from 表名 limit [OFFSET,] 记录数; 建表后创建普通索引:create INDEX 索引名称 on 表名(字段名);#或者ALTER TABLE 表名 ADD INDEX 索引名称 (字段名); 唯一索引: CREATE UNIQUE INDEX 索引名称 ON 表名(字段名);#或者ALTER TABLE 表名 ADD UNIQUE (字段名); 主键索引:主键索引一般在建表时创建,会设为 int 而且是 AUTO_INCREMENT自增类型的,例如一般表的id字段。 CREATE TABLE mytable ( id int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (id) ); 组合索引:组合索引就是在多个字段上创建一个索引。(应用场景:当表的行数远远大于索引键的数目时,使用这种方式可以明显加快表的查询速度) CREATE INDEX 索引名称 ON 表名(字段1,字段2,字段3);或者ALTER TABLE 表名 ADD INDEX 索引名称(字段1,字段2,字段3); 创建视图:create view 视图名称 as select 字段名 from 表名; 左右外连接查询:left/right [outer] join ... on