天天看点

数据库表的创建和操纵

数据库表的操作有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
           

继续阅读