Home | 简体中文 | 繁体中文 | 杂文 | 知乎专栏 | 51CTO学院 | CSDN程序员研修院 | Github | OSChina 博客 | 腾讯云社区 | 阿里云栖社区 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏多维度架构

第 60 章 DDL - Data Definition Language

目录

60.1. 数据库管理(Database)
60.1.1. 创建数据库
60.1.2. 删除数据库
60.1.3. 修改数据库
60.1.4. 重命名数据库
60.1.5. 修改字符集
60.1.6. 查看数据库创建语句
60.2. 表管理(Table)
60.2.1. 数据类型
60.2.1.1. SET 集合类型
60.2.2. 基于现有表结构创建新表
60.2.3. 基于已存在表创建新表
60.2.4. 修改表
60.2.5. 临时表
60.2.6. CHARACTER
60.2.7. DEFAULT
60.2.7.1. AUTO_INCREMENT
60.2.7.2. TIMESTAMP NULL DEFAULT NULL ON UPDATE
60.2.7.3. 表存储位置(DATA DIRECTORY)
60.2.8. KEY
60.2.8.1. PRIMARY KEY
60.2.9. AUTO_INCREMENT 定义初始值
60.2.10. COMMENT
60.2.11. Engine 存储引擎
60.2.11.1. 显示当前数据库支持引擎
60.2.11.2. 切换引擎
60.2.11.3. FEDERATED
60.2.11.4. BLACKHOLE
60.2.11.5. ARCHIVE
60.2.11.6. CSV
60.3. Partitioning
60.3.1. RANGE
60.3.2. LIST
60.3.3. HASH
60.3.3.1. LINEAR HASH
60.3.4. KEY分区
60.3.5. Subpartitioning
60.3.6. 分区管理
60.3.6.1. 新增分区
60.3.6.2. 删除分区
60.3.6.3. 重建分区
60.3.6.4. 分区维护
60.3.7. EXPLAIN PARTITIONS
60.3.8. SHOW CREATE TABLE
60.3.9. INFORMATION_SCHEMA.partitions 表
60.3.10. 分区数据操作
60.4. Index
60.4.1. SHOW INDEX
60.4.2. CREATE INDEX
60.4.3. DROP INDEX
60.4.4. rebuild
60.5. 外键(Foreign Key)
60.5.1. FOREIGN KEY (RESTRICT)
60.6. 视图(View)
60.7. 存储过程(PROCEDURE)
60.7.1. 存储程序
60.7.2. EXECUTE 执行 SQL
60.7.3. PREPARE 传递参数
60.7.4. 存储过程返回数据
60.7.5. 结果集转JSON
60.7.6. 例子·过程返回结果
60.8. 函数
60.8.1. TIMESTAMP TO ISO8601
60.9. 触发器(Trigger)
60.9.1. create trigger
60.9.1.1. Update 更新出发
60.9.1.2. Delete 删除出发
60.9.1.3. Insert 插入出发
60.9.2. drop trigger
60.9.3. show triggers
60.9.3.1. SHOW CREATE TRIGGER
60.9.4. EXAMPLE
60.9.4.1. BEFORE/AFTER
60.9.4.2. UUID
60.9.4.3. CALL PROCEDURE
60.10. 事件调度器(EVENT)
60.10.1. 启用 EVENT
60.10.2. 创建 EVENT
60.10.3. 禁用/启用
60.10.4. 查看 events
60.10.5. 删除 EVENT
60.10.6. EVENT 应用案例
60.10.6.1. 实例·每月创建一个表
60.10.6.2. 案例·定时删除数据
60.10.6.3. 指定日期执行

60.1. 数据库管理(Database)

60.1.1. 创建数据库

Creating a UTF-8 database

			
CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
			
			

Create a UTF-8 database with binary UTF-8 collation.

			
CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_bin;
			
			

60.1.2. 删除数据库

			
DROP DATABASE db_name;
			
			

60.1.3. 修改数据库

			
ALTER DATABASE dbname DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
			
			
			
			
			
			

60.1.4. 重命名数据库

			
RENAME {DATABASE | SCHEMA} db_name TO new_db_name;
			
			

before 5.0 version

			
[neo@development ~]$ mysqldump -uroot -pchen db_old | mysql -uroot -pchen db_new
			
			

60.1.5. 修改字符集

			
ALTER DATABASE <database_name> CHARACTER SET utf8;
			
			

60.1.6. 查看数据库创建语句

			
mysql> show create database dbname;
+----------+-------------------------------------------------------------------+
| Database | Create Database                                                   |
+----------+-------------------------------------------------------------------+
| dbname   | CREATE DATABASE `dbname` /*!40100 DEFAULT CHARACTER SET utf8 */   |
+----------+-------------------------------------------------------------------+
1 row in set (0.00 sec)