MySQL学习笔记--DDL

1.创建数据库
CREATE DATABASE [IF NOT EXISTS] database_name [DEFAULT CHARACTER SET character_set_name COLLATE collate_name]
COLLATE决定了选择的字符集在作字符串排序时候的顺序规则

2.删除数据库
DROP DATABASE

3.创建表
CREATE [TEMPORARY] TABLE table_name (
column_name_one DATATYPE(BITS) [NOT NULL|NULL] [DEFAULT value] [AUTO_INCREMENT],
column_name_two DATATYPE(BITS) [NOT NULL|NULL] [DEFAULT value],
......
column_name_n DATATYPE(BITS) [NOT NULL|NULL] [DEFAULT value]
PRIMARY KEY (column_name),
KEY(or INDEX) index_name (column_name_one, column_name_m)
)
[SELECT clause];

TEMPROARY表会在连接断开后自动DROP
SELECT clause支持在创建表的同时从其他表中填充数据,但不会copy PRIMARY KEY和INDEX

AUTO_INCREMENT的特性:
AUTO_INCREMENT是MySQL的特性,一般来说,NOT NULL对AUTO_INCREMENT是必要的。如果INSERT NULL(or 0),MySQL会自动赋予下increment值。但如果手工INSERT了负值,MySQL就只能找到当前的最大值,如果所有值都是负的,MySQL将使用1。MySQL对AUTO_INCREMENT有如下要求:
(1)必须用在索引列上
(2)使用AUTO_INCREMENT的列没有DEFAULT value
(3)每张表只能有一个AUTO_INCREMENT列
需要注意,在DROP或TRUNCATED表时,计数器会被重置,但DELETE记录时不会,仍在原来的基础上递增。

4.修改表
改列名
ALTER TABLE table_a CHANGE column_a column_aa INT;

改列定义
ALTER TABLE table_a MODIFY column_a CHAR(64) DEFAULT NULL;

增加列
ALTER TABLE table_a ADD column_new [after column_old] INT;

删除列
ALTER TABLE table_a DROP column_a;

增加索引
ALTER TABLE table_a ADD INDEX index_a (column_a,column_b);

删除索引
ALTER TABLE table_a DROP INDEX index_a;

增加主键
ALTER TABLE table_a ADD PRIMARY KEY (column_a , column_b);

删除主键
ALTER TABLE table_a DROP PRIMARY KEY;

改表名
ALTER TABLE table_old RENAME TO table_new;

5.重命名数据库
RENAME DATABASE database_old database_new;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值