目录
简洁版:
DDL分别对库、表和字段的操作,不用死记硬背,用到再查,熟能生巧;
DDL —库:
查询所有数据库:show databases;
查询当前数据库:select database();
创建库:create database 数据库名:
删除库:drop database [ if not exists] 数据库名;
使用库: use 库名;
DDL—表
查询当前库的所有表:show tables;
查询表结构:desc 表名;
查询指定表的建表语句:show create table 表名;
创建:
create table 表名(
字段1 字段1 类型 comment “ ”(或 ‘ ’单引号),
字段2 字段2 类型 comment “ ”(或 ‘ ’单引号),
字段3 字段3 类型 comment “ ”(或 ‘ ’单引号),
............ ............ ............ ,
)comment 表注释 ;
添加表的字段:alter table 表名 add 字段名 字段类型 【comment " "】;
修改字段类型: alter table 表名 modify 字段名 新字段类型(长度);
修改字段名和字段类型: alter table 表名 change 旧字段名 新字段名 字段类型(长度);
修改表名:alter table 表名 rename to 新表名;
删除表; drop table 【if exists】 表名;
删除字段:alter table 表名 drop 字段名;
详解版:
SQL通用语法:
1.SQL语句可以单行或多行书写,以分号结尾;
2.MYSQL的语句不区分大小写,关键字建议大写;
3.注释:
单行:--或者#(MYSQL独有);
多行:/* */ ;
分类:
下面我们分别说明DDL对库,表,字段的操作;
1. DDL(data definition language)
包含create(创建),alter(修改),drop(删除)关键字的语句都是DDL语句,这里的修改,删除指的是对表的结构的操作,并非表中的数据;
1.1 查询:
所有数据库:show databases;
当前数据库:select database();
1.2 创建:
create databases [ if not exists ] 数据库名 [default charset 字符集] [ collate 排序规则] ;
创建库:create database 数据库名:
当然,我们可以优化一下,防止重复创建:if not exists
还可以添加字符集: default charset 字符集
1.3 删除
drop database [ if not exists] 数据库名;
1.4 使用库
use 库名;
2.1 查询
2.1.1 查询当前库的所有表:
[use 库名;](可以不写,但查询表之前要知道查询的是哪一个库得到表)
show tables;
显示为:empty set ,说明该表为空;
2.1.2 查询表结构 :
desc 表名;
但是只能看到字段名和字段类型,看不到我们写的注释,所以我们可以查询指定表的建表语句:
2.1.3 查询指定表的建表语句:
show create table 表名;
最后一行:ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 多了一些东西: COLLATE=utf8mb4_0900_ai_ci COMMENT='黑榜'
ENGINE=InnoDB:存储引擎;
DEFAULT CHARSET=utf8mb4:默认utf8mb4字符集;
COLLATE=utf8mb4_0900_ai_ci:默认的排序规则;
2.2 创建
create table 表名(
字段1 字段1 类型 comment “ ”(或 ‘ ’单引号),
字段2 字段2 类型 comment “ ”(或 ‘ ’单引号),
字段3 字段3 类型 comment “ ”(或 ‘ ’单引号),
............ ............ ............ ,
)comment 表注释 ;
Query 表示创建成功,之后我们输入show tables (查询库中的表)检验一下;
2.3 修改
2.3.1 添加表的字段:
alter table 表名 add 字段名 字段类型 【comment " "】;
在s_hero表格里,添加字段nation,并使用desc语句查询表的结构;
2.3.2 修改字段类型:
alter table 表名 modify 字段名 新字段类型(长度);
2.3.3 修改字段名和字段类型:
alter table 表名 change 旧字段名 新字段名 字段类型(长度);
修改nation字段为countey,数据类型也一并修改,最后使用desc来查询表的结构;
2.3.4 修改表名
alter table 表名 rename to 新表名;
修改名字后,查询库中的所有表进行检验;
2.4 删除
2.4.1 删除表;
drop table 【if exists】 表名;
删除后查询,empty表示表已删除;
2.4.2 删除字段:
alter table 表名 drop 字段名;
删除country字段,并使用desc来查询表的结构;
补充:字段类型
字段类型大致可以分为三类:数值类型,字符串类型,日期类型;
(以下四张图片均来自黑马)
这是一个创建表的案例,案例中使用的字段类型几乎是常用的: