二、SQL
2.1 SQL通用语法
- SQL语句可以单行或多行书写,以分号结尾。
- SQL语句可以使用空格/缩进来增强语句的可读性。
- MySQl数据库的SQL语句不区分大小写,关键字建议使用大写
- 注释:
- 单行注释:
--
注释内容或#
注释内容(MySQL特有) - 多行注释:/* 注释内容 */
2.2 SQL分类
- DDL:数据定义语言,用来定义数据库对象(数据库、表、字段)
- DML:数据操作语言,用来对数据库表中的数据进行增删改
- DQL:数据查询语言,用来查询数据库中表的记录
- DCL:数据控制语言,用来创建数据库用户,控制数据库的访问权限
2.3 DDL
- 数据定义语言,用来定义数据库对象(数据库、表、字段)。
2.3.1 DDL——数据库操作
-- 查询
-- 查询所有数据库
show databases;
-- 查询当前数据库
select database();
-- 创建
create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];
-- 删除
drop database [if exists] 数据库名;
-- 使用
use 数据库名;
2.3.2 DDL——表操作-查询
-- 查询当前数据库所有表
show tables;
-- 查询表结构
desc 表名;
-- 查询指定表的建表语句
show create table 表名;
2.3.3 DDL——表操作-创建
create table 表名(
字段1 字段1类型[comment 字段1注释],
字段2 字段2类型[comment 字段2注释],
字段3 字段3类型[comment 字段3注释],
……
字段n 字段n类型[comment 字段n注释]
)[comment 表注释];
-- 注意:[……]为可选参数,最后一个字段后面没有逗号
2.3.4 DDL——表操作-数据类型
-- MySQL中的数据类型有很多种,主要分为三类:数值类型、字符串类型、日期时间类型。
2.3.5 DDL——表操作-修改
-- 添加字段
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
-- 修改数据类型
alter table 表名 modify 字段名 新数据类型(长度);
-- 修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
-- 删除字段
alter table 表名 drop 字段名;
-- 修改表名
alter table 表名 rename to 新表名;
2.3.6 DDL——表操作-删除
-- 删除表
drop table[if exists] 表名;
-- 删除指定表,并重新创建该表
truncate table 表名;
-- 在删除表时,表中的全部数据也会被删除。