目录
2.1 数据定义语言(DDL)
DDL全称是Data Definition Language,即数据定义语言,定义语言就是定义关系模式、删除关系、修改关系模式以及创建数据库中的各种对象,比如表、聚簇、索引、视图、函数、存储过程和触发器等等。
数据定义语言是由SQL语言集中负责数据结构定义与数据库对象定义的语言
主要掌握:
-
CREATE
-
ALTER
-
DROP
-
TRUNCATE
2.1.1 DDL-数据库操作
语法:
- 查询所有数据库
SHOW DATABASES;
- 查询当前数据库
SELECT DATABASE();
- 创建数据库
CREATE DATABASE [ IF NOT EXISTS ] 数据库名称 [ DEFAULT CHARSET 字符集 ] [ COLLATE 排序规则 ];
- 删除数据库
DROP DATABASE [ IF EXISTS ] 数据库名称;
- 使用数据库(数据库切换)
USE 数据库名称;
2.1.2 DDL-表操作-查询
语法:
- 查询当前数据库所有表
SHOW TABLES;
- 查询表结构
DESC 表名称;
- 查询指定表的建表语句
SHOW CREATE TABLE 表名称
2.1.3 DDL-表操作-创建&删除
语法:
- 创建表:
CREATE 表名(字段1 字段1类型 [COMMENT 字段1注释],字段2 字段2类型 [COMMENT字段2注释],字段3 字段3类型 [COMMENT字段3注释],......字段n 字段n类型 [COMMENT字段n注释],)[COMMENT表注释];
- 删除表:
DROP TABLE [IF EXISTS] 表名称;
- 案例练习 -
-- ---------- DDL ----------
-- 1.DDL数据库操作
# 查询所有数据库
SHOW DATABASES;
# 查询当前数据库
SELECT DATABASE();
# 创建一个数据库
CREATE DATABASE IF NOT EXISTS my_database;
# 使用数据库
USE my_database;
SELECT DATABASE();
# 删除数据库
DROP DATABASE IF EXISTS my_database;
-- 2.DDL-表操作
# 先创建一个数据库
CREATE DATABASE IF NOT EXISTS my_database;
USE my_database;
# 查询当前数据库所有表
SHOW TABLES;
# 当前数据库中没有表
# 创建一个表
CREATE TABLE tb_user(
id INT COMMENT '用户ID',
name VARCHAR(20) COMMENT '姓名',
age TINYINT UNSIGNED COMMENT '年龄'
)COMMENT '用户表';
# 再查询当前数据库中的表格
SHOW TABLES;
# 输出tb_user表
# 查询表结构
DESC tb_user;
# 输出表结构:字段名称、字段类型等信息
# id,int,YES,"",
# name,varchar(20),YES,"",
# age,tinyint unsigned,YES,"",
# 查询该表创建时的语句
SHOW CREATE TABLE tb_user;
# 输出:
# CREATE TABLE `tb_user` (
# `id` int DEFAULT NULL COMMENT '用户ID',
# `name` varchar(20) DEFAULT NULL COMMENT '姓名',
# `age` tinyint unsigned DEFAULT NULL COMMENT '年龄'
# ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表'
# 删除表
DROP TABLE tb_user;
# 验证
SHOW TABLES;
在案例中,我们定义字段的时候,需要为字段指定数据类型,那么MySQL中都有哪些数据类型呢?MySQL学习笔记: MySQL数据类型及案例