目录
一、创建表
1.创建表
2.NULL值
3.主键
4.自动增量
5.默认值
二、更新、删除、重命名表
1.更新表
2.删除表
3.重命名表
三、引擎类型
一、创建表
1.创建表
CREATE TABLE tablename
(
cust_id int NOT NULL AUTO_INCREMENT,
cust_name char(50) NOT NULL,
cust_num char(90) NULL DEFAULT 1,
PRIMARY KEY (cust_id)
) ENGINE=InnoDB;
2.NULL值
每个列在创建时定义NULL列,或者是NOT NULL列。如果不指定,则默认为NULL。
*NULL值与空值不一样,NULL代表无值。而空字符串 '' 为空值,在NOT NULL列中是允许的。
3.主键
主键为其值唯一标识表中每个行的列(必须为NOT NULL)。如果主键使用单个列,则它的值必须唯一;如果主键使用多个列,则这些列的组合值必须唯一。
4.自动增量
AUTO_INCREMENT列每当增加一行时自动增量。如上述例子中。给每一行分配一个自动增量,也就是给cust_id列赋予下一个可用的值,该cust_id是唯一的,可以用作主键值。
每个表只允许一个AUTO_INCREMENT列,而且它必须被索引(如,通过使它成为主键)。
5.默认值
DEFAULT 1 表示在未给出cust_num的情况下使用默认1。(MySQL只支持常量作为默认值。)
二、更新、删除、重命名表
1.更新表
*数据库的更改不能撤销,更新表之前应该做一个完整的备份。
#给表添加一列
ALTER TABLE tablename
ADD test_num CHAR(20);
#给表删除一列
ALTER TABLE tablename
DROP COLUMN test_num;
#给表定义外键
ALTER TABLE tablename
ADD CONSTRAINT orderitems_fk
FOREIGN KEY (order_name) REFERENCES other_table(order_name);
order_name是想要作为外键的字段,other_table是包含order_name字段的参照表。
orderitems_fk是新增外键约束的名字。
2.删除表
*删除表没有确认,也不能撤销,将永久删除表。
DROP TABLE tablename;
3.重命名表
RENAME TABLE tablename TO new_name;
三、引擎类型
CREATE TABLE tablename
(
)ENGINE=InnoDB;
不同引擎具有各自不同的功能和特性,为不同的任务选择正确的引擎能获得良好的功能和灵活性。
常见的存储引擎有InnoDB(默认)、MyISAM、MEMORY、MERGE等
#查看MySQL所支持的存储引擎,以及默认的存储引擎
SHOW ENGINES;
#查看mysql 默认的存储引擎
SHOW VARIABLES LIKE '%storage_engine';
#查看表tablename使用的引擎
SHOW CREATE TABLE tablename;
SHOW TABLE STATUS FROM database WHERE NAME="tablename";