目录
一、查看现有数据库
show databases;
二、新建数据库
create databases;
三、删除数据库
drop databases;
四、切换数据库
use 库名;
五、注释
--单行注释
/*
多行注释
*/
六、创建表
create table 表名(
列名1 数据类型;
列名2 数据类型;
)
七、删除表以及删除多张表
drop table 表名;
drop table 表名1,表名2,....;
八、修改表
添加列:alter table 表名 add 属性名 数据类型;
删除列:alter table 表名 drop 列名;
修改数据类型(属性):alter table 表名 modify 列名 新的数据类型;
修改列名(字段名):alter table 表名 change 旧字段名 新字段名 数据类型;
九、显示表结构
desc 表名;
十、主键约束(primary key)唯一,不重复
1.创建表并添加主键约束
creat table 表名(
列名1 数据类型 primary key,
列名2 数据类型
......(声明所有列名)
);
2.针对已经存在的表添加主键约束
alter table 表名 modify 列名 数据类型 primary key;
3.删除主键约束
alter table 表名 drop primary key;
十一、唯一约束(unique)一个表中可以有多个唯一约束
1.创建表并添加唯一约束
create table 表名(
列名1 数据类型,
列名2 数据类型,
列名3 数据类型,
constraint 唯一约束的名字 unique (列名1),
constraint 唯一约束的名字 unique (列名2)
);
2.针对已经存在的表添加唯一约束
alter table 表名 add unique(列名1,列名2);
3.删除唯一约束
alter table 表名 drop index 唯一约束的名字(自己起的名字或者列名);
十二、默认约束(default)
遇到字符串类型和日期类型需要用单引号引起来
1.创建表的同时创建默认约束
create table 表名(
列名1 数据类型 default '字符串类型或这日期类型的默认值',
列名2 数据类型 default 数值
列名3 数据类型
);
2.针对已经存在的表,添加默认约束
格式:alter table 表名 modify 列名 数据类型 default '值';
3.删除默认约束
alter table 表名 modify 列名 数据类型;
十三、非空约束(not null)
1.创建表同时创建非空约束
create table 表名(
列名1 数据类型 not null,
列名2 数据类型 not null,
列名3 数据类型
)
2.针对已经存在的表,添加非空约束
alter table 表名 modify 列名 数据类型 not null;
3.删除非空约束
alter table 表名 modify 列名 数据类型;
十四、外键约束 (foreign key)
1.创建表的同时创建外键约束
注意:关于引用的列要求:从表的列和主表的列,列名可以不一样,但是,这两个列的数据类型和内容必须保持一致。
主表(接下来再建新表的时候,要参照的表)
creat table 表1(
列名1 数据类型 primary key,
列名2 数据类型,
列名3 数据类型
);
从表(外键约束所在的表) FK_列名
create table 表名2(
列名1 数据类型,
列名1 数据类型,
constraint 外键约束的名字 foreign key(从表的列名1) references 主表表名1(列名1)
);
2.针对已经存在的表添加外键约束
alter table 从表表名 add constraint 外键约束的名字 foreign key (从表列名1) references 主表表名(主表列名);
3.删除外键约束
alter table 表名 drop foreign key 外键约束的名字;
十五、SQL语言
1.插入语句
insert into 表名(列名1,列名2,列名3......) values(值1,值2,值3.....);
2.删除表中数据
delete和drop区别:delete仅限于把表中数据给删除,表还留着;drop是把表和数据一并给删除
delete from 表名;--把整个表中的数据全部删除
delete from 表名 where 条件;--根据条件删除
3.修改表中数据
update 表名 set 列名='值';
十六、查询语句
where子句就是用来限定表中数据的查询
查看固定列:select 列名 from 表名;
查看所有列:select * from 表名;
条件查询:select 列名 from 表名 where 条件;
十七、逻辑运算符
and 连接多个条件,同时满足
or 连接多个条件,只需要满足一个
十八、选择查询(like)
注意:下划线可以和百分号同时出现
表示一个或者多个字符: %
表示一个字符:_
格式:
select 列名 from 表名 where 列名 like '字符模式';
十九、聚合函数
SUM:对某个列计算总和
AVG:计算某个列平均值
MAX:求某个列的最大值
MIN:求某个列最小值
二十、group by和order by
1.数据分组:group by
select 列名,聚合函数 from 表名 group by 列名;
2.排序:order by
默认升序asc
降序desc
select 列名 from 表名 order by 列名 [desc|asc];