查询语句语法:
select 查询列表 7
from 表1 别名 1
连接类型 join 表2 2
on 连接条件 3
where 筛选 4
group by 分组列表 5
having 筛选 6
order by 排序列表 8
limit 起始条目索引,条目数 9
DML语言
插入
一、方式一:
insert into 表名(字段名,········) values(值,·············);
特点:
1.要求值的类型和字段的类型要一致或兼容
2.字段的个数和顺序不一定与原始表中的字段个数和顺序一致,但必须保证值和字段一一对应
3.假如表中有可以为null的字段,注意可以通过以下两种方式插入null值
(1)字段和值都省略
(2)字段写上,值使用null
4.字段和值的个数必须一致
5.字段名可以省略,默认所有列
二、方式二
insert into 表名 set 字段=值,字段=值;
两种方式的区别:
1.方式一支持一次插入多行,语法如下:
insert into 表名【(字段名,·········)】 values(值,····),(值,·······);
2.方式一支持子查询,语法如下:
insert into 表名
查询语句
修改
一、修改单表的记录
update 表名 set 字段=值,字段=值【where 筛选条件】
二、修改多表的记录
update 表1 别名
left|right|inner join 表2 别名
on 连接条件
set 字段=值,字段=值
【(where筛选条件)】
删除
方式一:使用delete
一、删除单表的记录
delete from 表名 【where 筛选条件】【limit 条目数】
二、级联删除
delete 别名1,别名2 from 表1 别名
inner|left|right join 表2 别名
on 连接条件
【where 筛选条件】
方式二:使用truncate
truncate table 表名
两种方式的区别:【重点】
1.truncate删除后,如果再插入,标识列从1开始
delete删除后,如果再插入,标识列从断点开始
2.delete可以添加筛选条件,truncate不可以添加筛选条件
3.truncate效率更高
4.truncate没有返回值,delete可以返回受影响的行数
5.truncate不可以回滚,delete可以回滚
DDL语言
库的管理
一、创建库
create database [if not exists] 库名 [character set 字符集名];
二、修改库
alter database 库名 character set 字符集名;
三、删除库
drop database [if exists] 库名;
表的管理
一、创建表
create table[if not exists] 表名(
字段名 字段类型【约束】,
字段名 字段类型【约束】,
·················
字段名 字段类型 【约束】
)
二、修改表
1.添加列
alter table 表名 add column 列名 类型【first||after 字段名】;
2.修改列的类型或约束
alter table 表名 modify column 列名 新类型【新约束】;
3.修改列名
alter table 表名 change column 旧列名 新列名 类型;
4.删除列
alter table 表名 drop column 列名;
5.修改表名
alter table 表名 rename [to] 新表名;
三、删除表
drop table[if not exists] 表名;
四、复制表
1.仅仅复制表的结构
create table 表名 like 旧表;
2.复制表的结构+数据
create table 表名
select 查询列表 from 旧表【where 筛选】;
数据类型
一、数值型
1.整型
tinyint(1)、smallint(2)、mediumint(3)、int/integer(4)、bright(8)
特点:
(1)都可以设置无符号和有符号,默认有符号,通过unsigned设置无符号
(2)如果超出了范围,会报out of range异常,插入临界值
(3)长度可以不指定,默认会有一个长度
长度代表显示的最大宽度,如果不够则左边用0填充,但需要搭配zerofill,并且默认为无符号整型
2.浮点型
定点数:decimal(M,D)
浮点数:
float(M,D)【4】
double(M,D)【8】
特点:
(1)M代表整数部位+小数部位的个数,D代表小数部位
(2)如果超出范围,则报out of range异常,并且插入临界值
(3)M和D都可以省略,但对于定点数,M默认为10,D则默认为0
(4)如果精度要求较高,则优先考虑使用定点数
二、字符型
char、varchar、binary、varbinary、enum、set、text、blob
char:固定长度的字符,写法为char(M),最大长度不能超过M,其中M可以省略,默认为1
varchar:可变长度的字符,写法为varchar(M),最大长度不能超过M,其中M不可以省略
三、日期型
year年
date日期
time时间
datetime日期+时间【8】
timestamp日期+时间【4 比较容易受时区、语法模式、版本的影响,更能反映当前时区的真实时间】