DDL
全称Data Definition Language
,数据定义语言,用来定义数据库对象(数据库、数据表、数据表中的字段)
SHOW DATABASES;
SELECT DATABASE();
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
例子:创建数据库test
,字符集是utf8mb4
,排序规则是utf8mb4_0900_ai_ci
CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
成功结果如下图
DROP DATABASE [IF EXISTS] 数据库名;
例子:删除test
数据库
DROP DATABASE IF EXISTS test;
成功结果如下:
USE 数据库名;
例子:先按照上面给的语句创建test数据库,再使用test数据库
USE test;
成功结果如下
SHOW TABLES;
执行结果:
注意最后一个字段后面没有逗号
CREATE TABLE 表名(字段1 字段1类型[COMMENT 字段1注释],字段2 字段2类型[COMMENT 字段2注释],字段3 字段3类型[COMMENT 字段3注释]
)[COMMENT 表注释];
例子:在test
数据库中创建users
数据表,包含id
、username
、age
CREATE TABLE users(id int(10) PRIMARY KEY AUTO_INCREMENT NOT NULL COMMENT "主键id",username varchar(50) COMMENT "用户名",age TINYINT DEFAULT 0 COMMENT "年龄"
)comment "用户表";
DESC 表名;
例子:查询users
表结构
DESC users;
**查询结果
**
SHOW CREATE TABLE 表名;
例子:查询users
表的建表语句
SHOW CREATE TABLE users;
查询结果如下
CREATE TABLE `users` (`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键id',`username` varchar(50) DEFAULT NULL COMMENT '用户名',`age` tinyint(4) DEFAULT '0' COMMENT '年龄',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表'
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
例子:给users
表添加gender
字段
ALTER TABLE users ADD gender char(1) DEFAULT "女" COMMENT "性别";
成功结果如下
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
例子:修改users
数据表中的username
字段,将其改为name
ALTER TABLE users CHANGE username name VARCHAR(50) COMMENT "用户名";
成功结果如下
ALTER TABLE 表名 DROP 字段名;
例子:删除users
数据表的gender
字段
ALTER TABLE users DROP gender;
成功结果如下
ALTER TABLE 表名 RENAME TO 新表名;
例子:将users
表的表名修改为employee
ALTER TABLE users RENAME TO employee;
成功结果如下
TRUNCATE TABLE 表名;
删除employee
表并且重新创建该表
TRUNCATE TABLE employee;
成功结果如下图所示
DROP TABLE [IF EXISTS] 表名
例子:删除employee
表
DROP TABLE IF EXISTS employee;
成功结果如下
DML
英文全称是Data Manipulation Language
(数据操作语言),用来对数据库中表的数据记录进行增删改操作
INSERT INTO 表名 (字段1,字段2,...) VALUES(值1,值2,...);
例子
INSERT INTO users (username,age,gender) VALUES("李清照",18,"女");
INSERT INTO 表名 VALUES(值1,值2, ...);
例子
INSERT INTO users VALUES("李清照",18,"女");
指定字段添加数据
INSERT INTO 表名 (字段1,字段2, ...) VALUES(值1,值2, ...),(值1,值2, ...),(值1,值2, ...);
例子
INSERT INTO users (username,age,gender) VALUES("李清照",18,"女"),("李白",20,"男");
给所有字段添加数据
INSERT INTO 表名 VALUES(值1,值2, ...),(值1,值2, ...),(值1,值2, ...);
例子
INSERT INTO users VALUES("李清照",18,"女"),("李白",20,"男");
有where
条件则修改符合where
条件的数据
不带where
条件则修改整张数据表对应字段的所有数据
UPDATE 表名 SET 字段1 = 值1,字段2 = 值2, ... [WHERE 条件];
例子:修改users
表中将id
为1的李清照的名字改为上官婉儿
UPDATE users SET username = "上官婉儿" where id = 1;
带条件则删除符合条件的数据
不带条件则删除数据表中所有数据
DELETE FROM 表名 [WHERE 条件];
例子:删除名字为上官婉儿的所有数据
DELETE FROM users where username = "上官婉儿";
DQL
英文全称是Data Query Language
(数据查询语言),用来查询数据库中表的记录
SELECT 字段1,字段2,字段3,... FROM 表名;
例子:查询users
表中的username
,gender
两列的所有数据
SELECT username,gender FROM users;
SELECT * FROM 表名;
例子:查询users
表中的所有数据
SELECT * FROM users;
SELECT 字段1 [AS 别名1],字段2 [AS 别名2] ... FROM 表名;
例子:将username
取别名为name
SELECT username as name FROM users;
SELECT DISTINCT 字段列表 FROM 表名;
例子:
SELECT DISTINCT username from users;
上一篇:【Go进阶训练营】内存分配原理
下一篇: 父亲节小班诗歌