数据库表的操作有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 customer
ADD cust_phone char(20)
删除刚刚的列
ALTER TABLE customer
DROP COLUMN cust_phone
定义外键:
ALTER TABLE customer
ADD CONSTRAINT fk_customer_orders
FOREIGN KEY (order_id) REFERENCES orders(order_num)
三、删除表 DROP TABLE
删除表是删除整个表而不是删除它的所有行
DROP TABLE customer
四、重命名表 RENAME TABLE
RENAME TABLE customers TO customers1