MySQL建庫刪庫與表操作
1,建立資料庫:CREATE DATABASE [IF NOT EXISTS] database_name;
簡單例項:CREATE DATABASE IF NOT EXISTS mytestdb;
顯示資料庫:SHOW DATABASES;
使用資料庫:USE database_name;
2,刪除資料庫:DROP DATABASE [IF EXISTS] database_name;
SHOW DATABASES;
DROP DATABASE IF EXISTS tempdb;
3,建立表:CREATE TABLE [IF NOT EXISTS] table_name(
column_list
) engine=table_type;
需要為engine子句中的表指定儲存引擎。如:InnoDB,MyISAM,HEAP,EXAMPLE,CSV,ARCHIVE,MERGE, FEDERATED或NDBCLUSTER。如果不明確宣告儲存引擎,MySQL將預設使用InnoDB。
column_list部分指定表的列表。欄位的列用逗號(,
)分隔。定義列:
column_name data_type[size] [NOT NULL|NULL] [DEFAULT value]
[AUTO_INCREMENT]
AUTO_INCREMENT指示每當將新行插入到表中時,列的值會自動增加。每個表都有一個且只有一個AUTO_INCREMENT列。
簡單例項:建立一個tasks表
CREATE TABLE IF NOT EXISTS tasks (
task_id INT(11) NOT NULL AUTO_INCREMENT,
subject VARCHAR(45) DEFAULT NULL,
start_date DATE DEFAULT NULL,
end_date DATE DEFAULT NULL,
description VARCHAR(200) DEFAULT NULL,
PRIMARY KEY (task_id)
) ENGINE=InnoDB;
4,修改表結構:ALTER TABLE table_name action1[,action2,…]
<1>,修改列:新增自增長(AUTO_INCREMENT)
ALTER TABLE tasks
CHANGE COLUMN task_id task_id INT(11) NOT NULL AUTO_INCREMENT;
<2>,將新列新增到表中:新增一個名為complete的新列
ALTER TABLE tasks
ADD COLUMN complete DECIMAL(2,1) NULL
AFTER description;
<3>,刪除列:刪除列description
ALTER TABLE tasks
DROP COLUMN description;
<4>,ALTER重命名錶:將tasks表重新命名為work_items
ALTER TABLE tasks
RENAME TO work_items;
5,重命名錶:
重新命名一個或者多個表:RENAME TABLE old_table_name TO new_table_name;
除了表之外,我們還可以使用RENAME TABLE語句來重新命名檢視。在執行RENAME TABLE語句之前,必須確保沒有活動事務或鎖定表。RENAME TABLE不能用在臨時表上,但可以使用ALTER TABLE語句重新命名臨時表。