数据库表的操作有3种,创建、更改和删除
一、创建表 CREATE TABLE
1、创建表的方法一般有2种:使用交互式创建和管理工具、使用MySQL语句操纵
2、使用MySQL语句创建表:
CREATE TABLE IF NOT EXISTS customer
(
cust_id int(11) NOT NULL AUTO_INCREMENT,
cust_name char(255) NOT NULL DEFAULT 1,
cust_email char(255) NULL,
PRIMARY KEY (cust_id) USING BTREE
)ENGINE = InnoDB CHARSET=utf8;
从上面可以看到,表名紧跟在CREATE TABLE关键字后面。IF NOT EXISTS 是如果不存在这个表则创建。CHARSET是设置表的编码格式
每列的定义以列名开始,后面紧跟列的数据类型,表的主键可用关键字PRIMARY KEY指定,
NULL值:NULL值就是没有值,允许NULL值的列也允许在插入时可以不给出该列的值。每个列或者为NULL或者是NOT NULL
主键:PRIMARY KEY指定主键。主键值必须唯一,如果是多个列的主键,则它们的组合必须唯一,主键只能使用不为NULL的列
自增长:AUTO_INCREMENT的意义是每当增加一行是自动增量。
指定默认值:用关键字DEFULT指定,如果使用默认值,则再插入行时没有给出值,MySQL会指定一个默认值
引擎类型:ENGINE指定引擎类型,MySQL有许多引擎,引擎的作用是处理你的SQL语句。
- InnoDB是一个可靠的事务处理引擎,但不支持全文本搜索
- MyISAM是一个性能极高的引擎,它支持全文本搜索,但不支持事务处理
二、更新表 ALTER TABLE
更新表的操作:1、在ALTER TABLE之后给出要更改的表名 2、更改列表
添加字段
ALTER TABLE `baby`.`b_model`
ADD COLUMN `modelWeight` int(2) DEFAULT 10 NULL COMMENT '新品权重' AFTER `tabColor`,
ADD COLUMN `putDate` date NULL COMMENT '售卖机可上架日期' AFTER `modelWeight`,
ADD COLUMN `saleDate` date NULL COMMENT '售卖机可售卖日期' AFTER `putDate`;
删除字段
--删除表字段
ALTER TABLE `baby`.b_model DROP COLUMN `exception`;
修改字段
ALTER TABLE `baby`.b_model
MODIFY COLUMN putDate DATETIME NULL COMMENT '售卖机可上架日期';
MODIFY COLUMN saleDate DATETIME NULL COMMENT '售卖机可售卖日期';
定义外键:
ALTER TABLE customer
ADD CONSTRAINT fk_customer_orders
FOREIGN KEY (order_id) REFERENCES orders(order_num)
三、删除表 DROP TABLE
删除表是删除整个表而不是删除它的所有行
DROP TABLE customer
四、清空表Truncate table
truncate table customer
直接清空表,相当于重建表,保持了原表的结构,id也会清空。相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
五、重命名表 RENAME TABLE
RENAME TABLE customers TO customers1