0. 基础
-
MySQL
mysql-8.0.12-win64bit
-
Navicat Premium
navicat120_premium_cs_x64
-
系统
Windows7-64bit-旗舰版
-
时间
2018/11/27
-
关联文章
1. 常用sql语句
-
所用数据下载
-
所用sql查询文件下载
-
创建数据表
create table 所要创建的数据表的名称 (
column1_name column1_type column1_property,
column2_name column2_type column2_property,
...
columnN_name columnN_type columnN_property,
PRIMARY KEY ( 主键列名称)
)
-
删除数据表
方法一:删除表全部数据和表结构,立刻释放磁盘空间
drop table 所要删除的数据表的名称
方法二:删除表全部数据,保留表结构,立刻释放磁盘空间
truncate table 所要删除的数据表的名称
-
插入数据
insert into table_name ( field1, field2,...fieldN )
values
( value1, value2,...valueN );
-
删除数据
方法一:删除若干条数据
delete from 表名 where 删除条件
方法二:删除整张表的数据
delete from 表名
或
truncate table 表名
-
查询数据
1) 基本方式
select column1_name,...,columnN_name
from table1_name,...,tableN_name
where Clause
order by column_name
2) 范围查询
select * from table_name where column_name between 起始范围 and 终止范围
-
更新数据
update 数据表 set field1=new-value1,...,fieldN=new-valueN where 条件
-
子句
1) 关联子句
1.1) 格式 select 字段 from 表1 left/right/inner join 表2 on 条件 (一般为表1与表2的关联条件)
1.2) 左关联:获取左表所有记录,即使右表没有对应匹配的记录 left join ... on ...
1.3) 右关联:获取右表所有记录,即使左表没有对应匹配的记录 right join ... on ...
1.4) 内关联:获取两个表中字段匹配关系的记录 inner join ... on ...
2) 分组子句
方法一:通过字段将结果集进行分组,并统计该字段的信息
select 字段, 聚合函数(字段) from 数据表 where 条件 group by 字段
方法二:通过字段一将结果集进行分组,在此基础上统计字段二的信息
select 字段一, 聚合函数(字段二) from 数据表 where 条件 group by 字段一 with rollup
3) 模糊子句
... where 字段 like 匹配字符串
常用匹配字符串:
'%a' //以a结尾的数据
'a%' //以a开头的数据
'%a%' //含有a的数据
'_a_' //三位且中间字母是a的
'_a' //两位且结尾字母是a的
'a_' //两位且开头字母是a的
4) 别名子句
第一种: 字段别名
select 字段 as 字段别名 from 数据表
第二种: 数据表别名
select 数据表别名.字段 from 数据表 数据表别名
5) 排序子句
select field1,...,fieldN from table_name1,...,table_nameN where 条件 order by field1,...,fieldN ASC DESC
6) UNION子句
说明:UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中,多个 SELECT 语句会删除重复的数据。
select 字段1 from 数据表1 where 条件 union select 字段2 from 数据表2 where 条件
-
复制表
CREATE TABLE 复制表 AS
(
SELECT 字段1,...,字段N FROM 被复制表
)或
CREATE TABLE 复制表 AS
(
SELECT 字段1 AS 字段1别名,...,字段N AS 字段N别名 FROM 被复制表
)或
CREATE TABLE 复制表 AS
(
SELECT * FROM 被复制表 WHERE 条件
)
-
其他