1. 程式人生 > >MySQL建庫刪庫與表操作

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;

簡單例項:CREATE DATABASE IF NOT EXISTS tempdb;
                 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語句重新命名臨時表。