1.SQL语言
1.1SQL语言分类
| 可操作对象 | 关键字 | |
|---|---|---|
| DDL •DDL(Data Definition Language)数据定义语言 |
数据库,表,列等的定义 | create、 drop、 alter、 truncate(清空数据记录) 等 |
| DML★★★ •DML(Data Manipulation Language)数据操作语言 |
表中数据记录的更新,增加和删除。 | •update(更新)、insert(插入)、 delete(删除) 不包含查询 |
| DQL★★★★★ •DQL(Data Query Language) 数据查询语言 |
表中记录的查询 | •select |
| DCL •DCL(Data Control Language)数据控制语言(了解) |
设置或更改数据库用户、角色权限 | 如grant(设置权限),revoke(撤销权限),begin ,transaction等 |
2.DDL语言的使用
2.1DDL对数据库的操作
- 创建:create database [ if not exists] 数据库名称 [ character set 字符集名称 ] ;
- 查看
- 查看所有数据库:show databases;
- 查看数据库的定义信息:show create database 数据库名称;
- 修改:alter database 数据库名称 character set 字符集;
-
2.2DDL语言对表结构的部分操作
创建:CREATE TABLE 表名 (字段名1 类型1, 字段名2 类型2, …);
- 修改:
- 为表添加字段:ALTER TABLE 表名 ADD 字段名 类型;
- 修改表中字段的类型:ALTER TABLE 表名 MODIFY 字段名 新的类型;
- 修改字段名:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型;
- 删除字段:ALTER TABLE 表名 DROP 字段名;
注:
插入:
- 插入一组数据:insert into 表名 (字段名1, 字段名2,…) values (字段值1, 字段值2,…);
- 批量插入多组数据 : insert into 表名 values (字段值1, 字段值2,…), (字段值1, 字段值2,…),……;(注意必须是全字段而且顺序一致)
- 修改:
- 无条件全表更新,语法格式(开发中慎用):update 表名 set 字段名 = 新的值 , 字段名 = 新的值 , …;
- 带条件修改:update 表名 set 字段名 = 新的值 , 字段名 = 新的值 , … where 条件;
删除:
简单查询语法
- 查询指定列数据:select 字段名1, 字段名2, … from 表名;
- 如果要查询表所有的列也可使用匹配:select from 表名 ;
- as别名查询(as关键字是给字段和查询结果取别名,同时as可以省略不写)
- select 字段名 as 别名, … from 表名;
- select 字段名 as 别名, … from 表名 as 表别名;
- distinct去重查询
- 查询指定列并且结果不出现重复数据,格式:select distinct 字段名,字段名,.. from 表名;
查询结果参与运算
前提:查询的数据要与插入的表中的字段类型和顺序要一致;
用法:
格式:select 字段1,字段2,…… from 表 where 条件;
用法:
格式:select 字段1,字段2,… from 表名 【where 条件】 order by 字段 [asc|desc];
- 单列排序(使用一个字段排序):select 字段,… from 表名 【where 条件】 order by 字段名1 [asc|desc];
组合排序:先按第一个字段进行排序,第一个字段相同,按第二个字段进行排序,依次类推。
五大聚合函数:
- count(字段) :按照列统计行数据,如果这一列中有null的行,忽略该行;
- sum (字段) :计算指定列的数值和,非数值类型,计算结果为0;
- max (字段) :计算指定列的最大值;
- min (字段) :计算指定列的最小值;
- avg (字段) :计算指定列的平均值;
- 语法格式:
-
4.6分组和分页排序
分组查询语法:
- select 字段, 聚合函数(字段) from 表 [where 条件] group by 字段 [havin分组排序g 条件];
- 分页查询语法格式:
- select * from 表名 where 条件 limit offset , pageSize;
- offset :表示本页查询起始位置,0表示第一行数据;pageSize:表示要查询的记录数
