一、规范
- 以;结尾
- 关键字之间需要空格隔开(可多个)
- 语句中可以有一个或多个换行
- 关键字不去区分大小写
二、数据库相关的sql
- 查询所有的数据库
show databases;
- 创建数据库
create database dbname character set = gbk;
- 删除数据库
drop database dbname;
- 查看数据库详情
show create database dbname;
- 使用数据库
use dbname;
三、表相关的SQL
- 创建表
create table 表名(字段名 类型,字段名 类型...);
- 创建表使指定字符集和引擎
create table 表名(字段名 类型,字段名 类型...) engine=innodb charset=utf8;
- 查看所有的表
show tables;
- 查看单个表信息
show create table 表名;
- 修改表名
rename table 原名 to 新名;
- 修改引擎和字符集
alter table 表名 engine=引擎名 charset=字符集
- 在表的末尾添加字段
alter table 表名 add 字段名 类型;
- 在表的首位添加字段
alter table 表名 add 字段名 类型 first;
- 在某个字段后添加字段
alter table 表名 add 字段名 after 字段名;
- 删除表字段
alter table 表名 drop 字段名;
- 修改表字段的名称和信息
alter table 表名 old new newType;
- 修改字段类型和位置:
alter table 表名 modify 字段名 新类型 first/after 字段名;
四、数据相关的sql
- 插入数据
- 全表插入
insert into 表名 values(值1,值2...);
- 指定字段插入
insert into 表名(字段1,字段2...) values(值1,值2...);
- 批量插入
insert into 表名 values(值1,值2..),(值1,值2..);
- 指定字段批量插入
insert into 表名(字段1,字段2...) (值1,值2..),(值1,值2..);
- 全表插入
- 修改数据
update table set 字段=值 where 条件;
- 删除
delete from table where 条件;
- 查询语句
- 全表查询
select * from table
; - 指定字段查询
select 字段1,字段2 from 表名;
- 分组查询 group by
select * from 表名 where ... group by ... having...order by ...limit...;
- 子查询:嵌套在sql语句中的查询语句
- 作为查询条件写在where/having后面
- 创建表create table name as (…)
- 写在from后面当成新表使用
select 字段 from (select ... from 表名...) t1;
5.关联查询:同时查询多张表的数据称为关联查询 - 等值连接
select * from A,B where A.x=B.y and ...;
- 内连接
select * from A join B on A.x=B.y where ...;
- 外连接
select * from A left/right join B on A.x=B.y where ...;
- 全表查询
本文链接: http://yoursite.com/2019/10/21/MySQL的sql语句整理(超详细)/
本文访问量:126 次
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
