目录
(一)DDL
1.DDL操作数据库
(1)查询
--查询所有数据库
SHOW DATABASES;
--查询当前数据库
SELECT DATABASE();
(2)创建
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
创建数据库itcast,以及 “if not exists” 的用法
创建字符集(指定数据库为给定字符集)时
“utf8”为字符为3字节的字符集,“utf8mb4”为字符为4字节的字符集(推荐使用)
(3)删除
DROP DATABASES [IT EXISTS] 数据库名;
(4)使用
USE 数据库名;
当进入使用一个数据库后,忘记了自己所处数据库名称,可以通过select进行查询
2.DDL操作表结构
注:在使用当前数据库的所有表之前,需要进入数据库,即在“show tables”前需要输入“use 数据库名”
(1)查询
--查询当前数据库所有表
SHOW TABLES;
--查询表结构
DESC 表名;
--查询指定表的建表语句
SHOW CREATE TABLE 表名;
(2)创建
CREATE TABLE 表名(
字段1 字段1类型 [COMMENT 字段1注释],
字段2 字段2类型 [COMMENT 字段2注释],
...
字段n 字段n类型 [COMMENT 字段n注释]
) [COMMENT 表注释];
注:最后一个字段后没有“,”
要创造有以下表头的表格:
代码如下:
create table user(
id int comment '编号',
name varchar(50) comment '姓名',
age int comment '年龄',
gender varchar(1) comment '性别'
) comment '用户表';
或者可以写在同一行中
注:所有的字符都是英文版本的,不能使用中文标点,并且在出现汉字是必须要加单引号,多重复几次,总会成功!
创建“user”&“users”表格后,通过查询可得到以下结果:
--查询当前数据库所有表
--查询表结构
--查询指定表的建表语句
其中,出现了“ENGINE=”一行
此时,默认的字符集(DEFAULT CHARSET)为utf8mb4,默认的排序规则(COLLATE)为utf8mb4_0900_ai_ci
PS.数据类型及实例
数据类型
字符串类型
日期时间类型
(3)修改
--添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
如下举例:为表user中增加一行字段“名称”(nickname),类型为varchar(20)。
--修改指定字段的数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
--修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
如下举例:将user表中的nickname字段修改为username,类型为varchar(30).
--修改表名
ALTER TABLE 表名 RENAME TO 新表名;
如下举例:将user表名改为emp。
此时:
该数据库中没有user表而变成了emp表
(4)删除
--删除字段
ALTER TABLE 表名 DROP 字段名;
如下举例:将user表中的username字段删除。
--删除表
DROP TABLE [IF EXISTS] 表名;
--删除指定表,并重新创建该表;
TRUNCATE TABLE 表名;
如下举例:将users表删除
如下举例:将emp表删除,并重新创建emp表,即留下表结构,删除其中的所有数据。