標籤:exist 複製 簡單 unsigned desc 情況 副本 add base
MySQL是一個跨平台的開源關係型資料庫管理系統,目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。學習如何管理和導航MySQL資料庫和表是要掌握的首要任務。
一、處理資料庫
1、查看資料庫
擷取伺服器上的資料庫列表通常很有用。執行show databases;命令就可以搞定。mysql> show databases;
2、建立資料庫
mysql> create database db_test;
Query OK, 1 row affected (0.00 sec)
3、使用資料庫
資料庫一旦建立,就可以通過“使用”(use命令)資料庫,將其指定為預設的工作資料庫。
mysql> use db_test;Database changed
4、刪除資料庫
刪除資料庫的方式與建立的方式很相似。可以在mysql用戶端中使用drop命令刪除資料庫,如下:
mysql> drop database db_test;Query OK, 0 rows affected (0.00 sec)
二、處理表:如何建立、列出、查看、刪除和修改MySQL資料庫表。
1、建立表
表通過create table語句來建立。建立表的過程中會使用非常多的選項和子句,在這裡完全總結一遍也是不現實的,這裡只是總結最普遍的,以後遇到別的,再單個總結。建立表的一般用法如下:
mysql> create table tb_test(
-> id int unsigned not null auto_increment,
-> firstname varchar(25) not null,
-> lastname varchar(25) not null,
-> email varchar(45) not null,
-> phone varchar(10) not null,
-> primary key(id));
Query OK, 0 rows affected (0.03 sec)
記住,表至少包含一列。另外,建立表之後總是可以再回過頭來修改表的結構。無論當前是否在使用目標資料庫,都可以建立表,只要在表名前面加上目標資料庫即可。例如:
mysql> create table db_test.tb_test(
-> id int unsigned not null auto_increment,
-> firstname varchar(25) not null,
-> lastname varchar(25) not null,
-> email varchar(45) not null,
-> phone varchar(10) not null,
-> primary key(id));
Query OK, 0 rows affected (0.03 sec)
有條件的建立表
在預設情況下,如果試圖建立一個已經存在的表,MySQL會產生一個錯誤。為了避免這個錯誤,create table語句提供了一個子句,如果你希望在目標表已經存在的情況下簡單地退出表建立,就可以使用這個子句。無論是否已經建立,都會在返回到命令提示視窗時顯示“Query OK”訊息。
2、複製表
基於現有的表建立新表是一項很容易的任務。以下代碼將得到tb_test表的一個副本,名為tb_test2:
mysql> create table tb_test2 select * from db_test.tb_test;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0
將向資料庫增加一個相同的表tb_test2。而有的時候,可能希望只基於現有表的幾個列建立一個表。通過create select語句中指定列就可以實現:
mysql> describe tb_test;
3、刪除表
刪除表是使用drop table語句實現的,其文法如下:
drop [temporary] table [if exists] tbl_name [, tbl_name, ...]
4、更改表結構
我們會發現,我們會經常修改和改進表結構,特別是在開發初期;但是,每次進行修改時不必都先刪除再重新建立表。相反,可以使用alter語句修改表 的結構。利用這個語句,可以再必要時刪除、修改和增加列。和create table一樣,alter table提供了很多子句、關鍵字和選項。這裡只是會說一些簡單的使用,比如在表tb_demo表中插入一列,表示email,代碼如下:
mysql> alter table tb_demo add column email varchar(45);
Query OK, 0 rows affected (0.14 sec)
Records: 0 Duplicates: 0 Warnings: 0
新的列放在表的最後位置。不過,還可以使用適當的關鍵字(包括first、after和last)來控制新列的位置。如果想修改表,比如,剛剛加的email,我想加入一個not null控制,代碼可以是這樣的:
mysql> alter table tb_demo change email email varchar(45) not null;
Query OK, 0 rows affected (0.11 sec)
Records: 0 Duplicates: 0 Warnings: 0
如果覺的這個email這列沒有存在的必要了,可以使用下面的代碼刪除它,例如:
mysql> alter table tb_demo drop email;
Query OK, 0 rows affected (0.09 sec)
Records: 0 Duplicates: 0 Warnings: 0
MySQL處理資料庫和表的命令