|
|
|
|
@ -0,0 +1,63 @@
|
|
|
|
|
数据库连接: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
|