db-tutorial/codes/mysql/ddl_demo.sql

82 lines
1.9 KiB
MySQL
Raw Normal View History

2018-04-28 15:58:34 +08:00
/**
* Mysql DDL
* @author Zhang Peng
* @date 2018/4/28
*/
#############################################################
# 数据库定义
#############################################################
2018-05-04 10:52:03 +08:00
-- 撤销数据库 test
DROP DATABASE IF EXISTS test;
2018-04-28 15:58:34 +08:00
-- 创建数据库 test
CREATE DATABASE test;
-- 选择数据库 test
use test;
#############################################################
# 数据表定义
#############################################################
2018-05-04 10:52:03 +08:00
-- 撤销表 user
DROP TABLE IF EXISTS user;
DROP TABLE IF EXISTS vip_user;
2018-04-28 15:58:34 +08:00
-- 创建表 user
2018-05-04 10:52:03 +08:00
CREATE TABLE user (
id int(10) unsigned NOT NULL COMMENT 'Id',
username varchar(64) NOT NULL DEFAULT 'default' COMMENT '用户名',
password varchar(64) NOT NULL DEFAULT 'default' COMMENT '密码',
email varchar(64) NOT NULL DEFAULT 'default' COMMENT '邮箱'
2018-04-28 15:58:34 +08:00
) COMMENT='用户表';
-- 创建新表 vip_user 并复制表 user 的内容
2018-05-04 10:52:03 +08:00
CREATE TABLE vip_user AS
SELECT * FROM user;
2018-04-28 15:58:34 +08:00
-- 添加列 age
2018-05-04 10:52:03 +08:00
ALTER TABLE user
2018-04-28 15:58:34 +08:00
ADD age int(3);
-- 修改列 age 的类型为 tinyint
2018-05-04 10:52:03 +08:00
ALTER TABLE user
2018-04-28 15:58:34 +08:00
MODIFY COLUMN age tinyint;
2018-05-04 10:52:03 +08:00
-- 撤销列 age
ALTER TABLE user
DROP COLUMN age;
2018-04-28 15:58:34 +08:00
#############################################################
# 索引定义
#############################################################
-- 创建表 user 的索引 user_index
2018-05-04 10:52:03 +08:00
CREATE INDEX user_index
ON user (id);
2018-04-28 15:58:34 +08:00
2018-05-04 10:52:03 +08:00
-- 创建表 user 的唯一索引 user_index2
CREATE UNIQUE INDEX user_index2
ON user (id);
2018-04-28 15:58:34 +08:00
2018-05-04 10:52:03 +08:00
-- 撤销表 user 的索引
ALTER TABLE user
DROP INDEX user_index;
ALTER TABLE user
DROP INDEX user_index2;
2018-04-28 15:58:34 +08:00
#############################################################
# 视图定义
#############################################################
-- 创建表 user 的视图 top_10_user_view
CREATE VIEW top_10_user_view AS
SELECT id, username
2018-05-04 10:52:03 +08:00
FROM user
2018-04-28 15:58:34 +08:00
WHERE id < 10;
-- 撤销表 user 的视图 top_10_user_view
DROP VIEW top_10_user_view;