1、MYSQL-DDL

DDL(数据定义语言)

用于操作数据库、表结构及修改表,不涉及数据操作。

1. 数据库操作

1.1 查看所有数据库

sql 复制代码
SHOW DATABASES;

1.2 创建数据库

sql 复制代码
-- 语法:CREATE DATABASE IF NOT EXISTS 库名;
CREATE DATABASE IF NOT EXISTS mydb1;

1.3 切换数据库

sql 复制代码
-- 语法:USE 库名;
USE mydb1;

1.4 删除数据库

sql 复制代码
-- 语法:DROP DATABASE IF EXISTS 库名;
DROP DATABASE IF EXISTS mydb1;

1.5 修改数据库编码

sql 复制代码
-- 语法:ALTER DATABASE 库名 CHARACTER SET 编码;
ALTER DATABASE mydb1 CHARACTER SET utf8;

2. 表操作

2.1 数据类型

数值类型
类型 大小 用途
TINYINT 1 byte 小整数值
SMALLINT 2 bytes 大整数值
MEDIUMINT 3 bytes 大整数值
INT/INTEGER 4 bytes 大整数值
BIGINT 8 bytes 极大整数值
FLOAT 4 bytes 单精度浮点数
DOUBLE 8 bytes 双精度浮点数
DECIMAL 小数值
日期时间类型
类型 大小 格式 用途
DATE 3 bytes YYYY-MM-DD 日期值
TIME 3 bytes HH:MM:SS 时间值或持续时间
YEAR 1 byte YYYY 年份值
DATETIME 8 bytes YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4 bytes YYYYMMDD HHMMSS 时间戳
字符串类型
类型 大小 用途
CHAR 0-255 bytes 定长字符串
VARCHAR 0-65535 bytes 变长字符串
TINYBLOB 0-255 bytes 短二进制字符串
TINYTEXT 0-255 bytes 短文本字符串
BLOB 0-65,535 bytes 二进制长文本数据
TEXT 0-65,535 bytes 长文本数据
MEDIUMBLOB 0-16,777,215 bytes 二进制中等长度文本数据
MEDIUMTEXT 0-16,777,215 bytes 中等长度文本数据
LONGBLOB 0-4GB 二进制极大文本数据
LONGTEXT 0-4GB 极大文本数据

2.2 创建表

sql 复制代码
CREATE TABLE IF NOT EXISTS student(
    sid INT COMMENT '学号',
    name VARCHAR(20) COMMENT '姓名',
    age INT COMMENT '年龄',
    gender VARCHAR(20) COMMENT '性别',
    birth DATE COMMENT '出生日期',
    address VARCHAR(20) COMMENT '地址'
);

2.3 查看所有表

sql 复制代码
SHOW TABLES;

2.4 查看表创建语句

sql 复制代码
-- 语法:SHOW CREATE TABLE 表名;
SHOW CREATE TABLE student;

2.5 查看表结构

sql 复制代码
-- 语法:DESC 表名;
DESC student;

2.6 删除表

sql 复制代码
-- 语法:DROP TABLE 表名;
DROP TABLE student;

3. 修改表结构

3.1 添加列

sql 复制代码
-- 语法:ALTER TABLE 表名 ADD 列名 类型(长度) [约束];
ALTER TABLE student ADD dept VARCHAR(20) COMMENT '院系';

3.2 修改列名和类型

sql 复制代码
-- 语法:ALTER TABLE 表名 CHANGE 旧列名 新列名 类型(长度) [约束];
ALTER TABLE student CHANGE dept department VARCHAR(30) COMMENT '部门';

3.3 删除列

sql 复制代码
-- 语法:ALTER TABLE 表名 DROP 列名;
ALTER TABLE student DROP department;

3.4 修改表名

sql 复制代码
-- 语法:RENAME TABLE 表名 TO 新表名;
RENAME TABLE student TO stu;
相关推荐
ManageEngineITSM4 分钟前
工单分类怎么设计?类别、子类别与自动分派的实用方法
大数据·服务器·数据库·人工智能·分类·数据挖掘
ClouGence16 分钟前
MongoDB 双向同步如何防止数据循环?(附实操指南)
数据库·mongodb
TDengine (老段)29 分钟前
TDengine IDMP 十大实用功能(7)
数据库·物联网·时序数据库·tdengine·涛思数据·工业数据·idmp
Decay__31 分钟前
15_MySQL 数据同步与迁移方案 —— 复制 / DataX / Canal / 异构同步(对标 Oracle GoldenGate)
运维·数据库·sql·mysql·架构
zjx238844 分钟前
oracle11g转Gbase8s库SQL常见问题修改
数据库·sql
真上帝的左手1 小时前
30. 技术专题-‌应用框架组件-缓存-Redis
数据库·redis·分布式·缓存·中间件
雪芽蓝域zzs1 小时前
第 2 章:整合 MySQL + MyBatis,搭建数据库基础、实体类、Mapper、测试查询
数据库·mysql·mybatis
实泽有之,无泽虚之1 小时前
SQL Server数据库备份与还原详解
数据库·sqlserver
DevOpenClub1 小时前
高考一分一段 API:分数查位次、科类枚举与历史对照
linux·数据库·高考
Java后端的Ai之路1 小时前
Java并发编程07-等待通知机制优化循环等待
java·数据库·python