一、增-插入语句语法
方式一:
insert into 表名(列名,...)
values (值1,...)
注意1:插入的值的类型要与列的类型一致或兼容
注意2:不可以为null的值必须插入列,可以为null的列如何插入值?
有列名 值写为null 或者 不写列名不写值,自动填充
注意3:列的顺序可以调换
注意4:插入时列数和值的个数必须一致
注意5:可以省略列名,默认所有列,而且列的顺序要和表中列的顺序一致
方式二:
insert into 表名
set 列名=值,列名=值
两种方式的比较:
方式一:支持一次插入多行/支持子查询
方式二:不支持插入多行/不支持子查询
二、改-修改数据
1.修改单表记录
语法:
update
2.修改多表的记录
sql92语法
update
sql99语法
update
三、删除语句
方式一:delete
删除就是整行
1.单表的删除
delete from 表明 where 筛选条件
2.多表的删除
delete 表1 别名
from 表1 别名
inner/left/right/join 表2 别名
on 连接条件
where 筛选条件;
方式二:truncate语句
truncate table 表名;
truncate不允许加where语句,相当于清除表中数据。
两种方法比较:
delete:可以加where/删除后再加入数据,自增长列的值从断点开始/删除有返回值/可以回滚
truncate:不可加where/删除后再加入数据,自增长列的值从1开始/删除无返回值/不能回滚
四、查询语句
(一)基础查询
语法:
select+查询列表
from 表名;
1.查询列表
表中的字段-常量/常量值/表达式/函数
查询结果是虚拟结果
2.查询字段
查询单个字段
//多个间用逗号隔开//
所有字段 一个一个输入或者输入select以后双击表格名/select *from 表名--按照原来的顺序
3.查询常量
select 100;
select 'join' /单引号
字符型和日期型的常量值必须用单引号引起来,数值型不需要
4.查询表达式
select 100*96;
5.查询函数
select 函数名(实参列表)
select version();
(二)条件查询
1.语法
select 查询列表 from 表明 where 筛选条件;
2.筛选条件的分类
①条件运算符:> < = != <> >= <=
select 需要用tab键隔到下一行,否则报错
②逻辑表达式:用于连接条件表达式 and or not
- A. B. C. D. A.B.C.D.E. A.B. A.B. C. (SANsan三)模糊查询
A.like 一般和通配符搭配使用
B.通配符:%任意多个字符 ,包含0个字符
C. _ 隔的字符 第三个字符为a,第五个字符为e的 like '__a_e'
D. 查找含有下划线的字符 第二个是下划线的字符 like '__%'(转译) 也可以用指定 符号转移 like'_$_%' escape '$'
E.''字符型的值必须用单引号引起来
F.last_name LIKE '%a%' 包含a的
between and
employee_id BETWEEN 100 AND 200;
包含临界值
两个值不能颠倒顺序
等价于大于等于左边 小于等于右边
in
用于判断某字段的值是否属于列表中的某一项
job_id IN ('IT_PROT','AD_VP','AD_PRES');
比使用or更简洁
in列表的值类型必须一致或统一
不支持通配符模糊查询
is null/is not null
=或<>不能用于判断null值
仅可以用于判断null值,可读性高建议使用
安全等于
<=> null
不光可以判断null值,还可以判断普通值,判断的是等于它
可读性比较差
(三)排序查询
- 语法
- select 查询列表 from 表明 where 筛选条件 order by 排序列表【asc|desc】
- asc--升序 desc--降序 默认升序
- 支持单个字段/多个字段/表达式/函数/别名
- order by 一般放在语句最后,limit除外
- 按表达式排序
- 在select起别名以后 下面不用再as
- 按别名排序
- 支持别名查询 即在select后面已经重命名则在下面可以直接用别名查询
- 按函数排序
- select length(‘last_name’) from
- 按多个字段排序
- order by salary asc ,employees_id desc;