天天看點

資料庫表的建立和操縱

資料庫表的操作有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
           

繼續閱讀