DDL
数据库管理
创建数据库
CREATE DATABASE IF NOT EXISTS 库名 DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
修改数据库
修改库名
RENAME DATABASE 旧库名 TO 新库名;
修改库的字符集
ALTER DATABASE 库名 CHARACTER SET 字符集;
删除数据库
DROP DATABASE IF EXISTS 库名;
数据表管理
创建数据表
CREATE TABLE `customer_inf` (
`customer_inf_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
`customer_id` int(10) unsigned NOT NULL COMMENT 'customer_login表的自增ID',
`customer_name` varchar(20) NOT NULL COMMENT '用户真实姓名',
`identity_card_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '证件类型:1 身份证,2军官证,3护照',
`identity_card_no` varchar(20) DEFAULT NULL COMMENT '证件号码',
`mobile_phone` int(11) unsigned DEFAULT NULL COMMENT '手机号',
`customer_email` varchar(50) DEFAULT NULL COMMENT '邮箱',
`gender` char(1) DEFAULT NULL COMMENT '性别',
`user_point` int(11) NOT NULL DEFAULT '0' COMMENT '用户积分',
`register_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '注册时间',
`birthday` datetime DEFAULT NULL COMMENT '会员生日',
`customer_level` tinyint(4) NOT NULL DEFAULT '1' COMMENT '会员级别:1普通会员,2青铜会员,3白银会员,4黄金会员,5钻石会员',
`user_money` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '用户余额',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录生成时间',
`modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`customer_inf_id`)
) ENGINE=InnoDB AUTO_INCREMENT=16384 DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表';
修改数据表
语法
ALTER TABLE 表名 ADD|DROP|MODIFY|CHANGE COLUMN 列名 类型 约束;
修改列名
ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 类型 约束;
修改列的类型或约束
ALTER TABLE 表名 MODIFY COLUMN 列名 类型 约束
添加新列
ALTER TABLE 表名 ADD COLUMN 列名 类型 约束;
删除列
ALTER TABLE 表名 DROP COLUMN 列名
修改数据表名
ALTER TABLE 表名 RENAME TO 新表名;
删除数据表
DROP TABLE IF EXISTS 表名;
复制数据表
只复制表结构
CREATE TABLE 复制后的表名 LIKE 被复制的表名;
复制表的结构 + 数据
CREATE TABLE 复制后的表名 SELECT * FROM 被复制的表名;
只复制部分数据
CREATE TABLE 复制后的表名 SELECT 字段名 FROM 被复制的表名 WHERE 筛选条件