以下输出来自黑马JAVAWEB+AI课程飞书文档讲义(概述 - 飞书云文档)的输入
DDL语句
数据库操作
//查询所有数据库
show databases;
//查询当前数据库
select database();
//创建数据库
create database [ if not exits ] 数据库名 [ default charset utf8mb4];
/创建数据库时,可以不指定字符集。 因为在MySQL8版本之后,默认的字符集就是 utf8mb4。
//使用数据库
use 数据库名;
//删除数据库
drop database [ if exists ] 数据库名;
/ - 如果删除一个不存在的数据库,将会报错。
/ - 可以加上参数 if exists ,如果数据库存在,再执行删除,否则不执行删除。
表操作
//创建表
create table 表名(
字段1 字段1类型 [约束] [comment 字段1注释],
字段2 字段2类型 [约束] [comment 字段2注释],
...
字段n 字段n类型 [约束] [comment 字段n注释]
)[ comment 表注释]
/ - 注意: [ ] 中的内容为可选参数; 最后一个字段后面没有逗号
约束: 作用在表中字段上的规则,用于限制存储在表中的数据。
在MySQL数据库当中,提供了以下5种约束:
非空,唯一,主键(一行数据的唯一标识,要求非空且唯一),默认,外键
数据类型(暂略)
表操作-其他操作
-- 查询当前数据库的所有表
show tables;
-- 查看指定的表结构
desc 表名 ; -- 可以查看指定表的字段、字段的类型、是否可以为NULL、是否存在默认值等信息
-- 查询指定表的建表语句
show create table 表名 ;
-- 添加字段
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
-- 比如: 为tb_emp表添加字段qq,字段类型为 varchar(11)
alter table tb_emp add qq varchar(11) comment 'QQ号码';
-- 修改字段类型
alter table 表名 modify 字段名 新数据类型(长度);
-- 比如: 修改qq字段的字段类型,将其长度由11修改为13
alter table tb_emp modify qq varchar(13) comment 'QQ号码';
-- 修改字段名,字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
-- 比如: 修改qq字段名为 qq_num,字段类型varchar(13)
alter table tb_emp change qq qq_num varchar(13) comment 'QQ号码';
-- 删除字段
alter table 表名 drop 字段名;
-- 比如: 删除tb_emp表中的qq_num字段
alter table tb_emp drop qq_num;
-- 修改表名
rename table 表名 to 新表名;
-- 比如: 将当前的emp表的表名修改为tb_emp
rename table emp to tb_emp;
-- 删除表
drop table [ if exists ] 表名;
-- 比如:如果tb_emp表存在,则删除tb_emp表
drop table if exists tb_emp; -- 在删除表时,表中的全部数据也会被删除。
🌟DML语句
增
-- 向指定字段添加数据
insert into 表名(字段名1,字段名2) values(值1,值2);
-- 全部字段添加数据
insert into 表名 values(值1,值2, ...);
-- 批量添加数据(指定字段)
insert into 表面 (字段名1,字段名2) values(值1,值2),(值1,值2);
-- 批量添加数据(全部字段)
insert into 表名 values(值1,值2, ...),(值1,值2, ...);
注意事项:
- 字符串和日期型数据应该包含在引号中。
- 插入的数据大小,应该在字段的规定范围内。
删
delete from 表名 [where 条件] ;
改
update 表名 set 字段名1 = 值1,字段名2 = 值2, ...[where 条件];
🌟DQL语句(select)
select
字段列表
from
表名列表
where
条件列表
group by
分组字段列表
having
分组后条件列表
order by
排序字段列表
limit
分页参数