MySQL学习笔记--DDL

xiaoxiao2022-06-11  41

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;
转载请注明原文地址: https://www.6miu.com/read-4930478.html

最新回复(0)