SQL通用语法
- SQL语句可以单行或多行书写,以分号结尾;
- SQL语句可以用空格/缩进增强语句的可读性;
- MySQL数据库的SQl语句不分大小写,关键字建议使用大写。
- 注释:单行注释:用--注释内容或#注释内容 多行注释:/*注释内容*/
SQL分类(Data ... Language)
DDL | Definition | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
DML | Manipulation | 数据操作语言,用来对数据库中数据进行增删改 |
DQL | Query | 数据查询语言,用来查询数据库中表的记录 |
DCL | Control | 数据控制语言,用来创建数据库用户,控制数据库的访问权限 |
DDL
数据库操作
- 查询所有数据
show databases;
- 查询当前数据
select database();
- 创建数据库
create database [if not exists] 数据库名 [default charset 字符集] [collate排序规则];
注:字符集不建议设为utf8,因为其只有3个字节,而常会遇到四个字节;建议设为utf8mb4(四个字节)若输入代码中的数据库已经存在而且代码中无“if not exists”,则会报错
- 删除数据库
drop database [if exists] 数据库名;
- 使用/切换数据库
use 数据库名;
注:使用数据库也就进入了该数据库名对应的数据库,若使用过程中忘了当前是哪个数据库,可用select database();查询当前数据库名;注意不要忘了()!!
DDL-表操作
DDL-表操作-查询
- 查询当前数据库所有表
show tables;
- 查询表结构(字段及字段类型)
desc 表名;
- 查询指定表的建表语句
show create table 表名;
DDL-表操作-创建
create table 表名(
字段1 字段1类型[comment 字段1注释],
字段2 字段2类型[comment 字段2注释],
字段3 字段3类型[comment 字段3注释],
... .......
字段n 字段n类型[comment 字段n注释]
)[comment 表注释];
注:[...]为可选参数,每个字段后为逗号,最后一个字段后无逗号
DDL-表操作-数据类型
MySQL的数据类型有很多,主要分为三类:数值类型,字符串类型,时间日期类型。
DDL-表操作-修改
- 添加字段
alter table 表名 add 字段名 类型(长度) [comment 注释];
- 修改数据类型
alter table 表名 modify 字段名 新数据类型(长度) [comment 注释];
- 修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
- 删除字段
alter table 表名 drop 字段名;
- 修改表名
alter table 表名 rename to 新表名;
DDL-表操作-删除
- 删除表
drop table [if exists] 表名;
- 删除指定表并重新创建该表
truncate table 表名;