資料庫基本操作
資料庫操作
建立資料庫
create database 資料庫名稱 [庫選項];
[^create database表示建立資料庫;“資料路名稱”可以是字母,數字和下劃線組成的任意字串;“庫選項“用於設定此資料庫的相關特性,如字符集charset,校對集collate。]:
[^語法中使用的”[]“括起來的選項表示可選引數。]:
[^如果建立的資料庫已存在,則程式會報錯。為了防止這種情況的發生,在建立資料庫時可以在”資料庫名稱“前新增if not exists,表示指定的資料庫不存在時進行建立操作,否則忽略此操作。]:
檢視資料庫
-
檢視MySQL伺服器下的所有資料庫:
show databases;
-
檢視指定資料庫的建立資訊:
show create database 資料庫名稱;
選擇資料庫
use 資料庫名稱;
資料需要儲存在資料表中,而資料庫中可以包含多個數據表,伺服器中可以包含多個數據庫,所以建立資料表時首先需要選擇資料庫。
資料庫選擇除了可以使用use關鍵字外,在使用者登入MySQL伺服器時也可以選擇登入。基本語法格式如下
mysql -u使用者名稱 -p密碼 資料庫名;
刪除資料庫
drop database 資料庫名稱;
[^與建立一個已存在的資料庫相同,if not exists語句也適用於刪除資料庫。]:
資料表操作
建立資料表
create [temporary] table [if not exists] 表名;
例如:
#①建立mydb資料庫 mysql>create database mydb; Query OK, 1 row affected (0.00 sec) #②選擇mydb資料庫 mysql>use mydb; Database changed #③建立goods資料表 mysql> create table goods ( -> id int comment '編號', -> name varchar(32) comment '商品名', -> price int comment '價格', -> des varchar(255) comment '商品描述' -> );
另一種不用use建立資料表的形式
create table mydb.goods (此處省略欄位的定義);
檢視資料表
- 檢視資料表
show tables [like匹配模式];
- 檢視資料表的相關資訊
show table status [from資料庫名] [like匹配模式];
修改資料表
- 修改資料表名稱
#語法格式1
alter table 舊錶名 rename [to|as] 新表名;
#語法格式2
rename table 舊錶名1 to 新表名1[舊錶名1 to 新表名2]...
- 修改表選項
alter table 表名 表選項 [=] 值;
查看錶結構
- 檢視資料表的欄位資訊
#語法格式1: 檢視所有欄位的資訊
{describe|desc}資料表名;
#語法格式2: 檢視指定欄位的資訊
{describe|desc}資料表名 欄位名;
- 檢視資料表的建立語句
show create table 表名;
- 檢視資料表結構
#語法格式1
show [full] columns from 資料表名 [from資料庫名];
#語法格式2
show [full] columns from 資料庫名.資料表名
修改表結構
-
修改欄位名
alter table 資料表名 ahcnge[column] 舊欄位名 新欄位名 欄位型別 [欄位屬性];
-
修改欄位型別
alter table 資料表名 modify [column] 欄位名 新型別 [欄位屬性];
-
修改欄位的位置
alter table 資料表名 modify [column] 欄位名1 資料型別 [欄位屬性] [first|after 欄位名2];
-
新增欄位
#語法格式1 新增一個欄位,並可指定其位置 alter table 資料表名; #語法格式2 同時新增多個欄位 alter table 資料表名 add [column] (新欄位名1 欄位型別1, 新欄位名2 欄位型別2, ···);
-
刪除欄位
later table 資料表名 drop [column] 欄位名;
刪除資料表
drop [temporary] table [if exists] 資料表1 [資料表2]···;
資料操作
新增資料
-
為所有欄位新增資料
insert [into] 資料表名 {values|value}(值1[, 值2]···);
[^若建立的資料表未指定字符集,則資料表及表中的欄位將使用預設的字符集iatinl。為解決此問題,可在建立語法後受用“default charset utf8”表示設定字符集,utf8支援世界上大多數國家的字元,通常推薦使用此字符集。]:
-
為部分欄位新增資料
insert [into] 資料表名 (欄位名1[, 欄位名2]···) {values|value} (值1[, 值2]···);
insert [into] 資料表名 set 欄位名1=值1 [, 欄位名2 =值2]···;
-
一次新增多行資料
insert [into] 資料表名 [(欄位列表)] {values|value} (值列表) [, 值列表]···;
查詢資料
-
查詢表中全部資料
select * from 資料表名;
-
查詢表中部分資料
select {欄位名1, 欄位名2, 欄位名3, ···} from 資料表名
-
簡單條件查詢資料
select * |{欄位名1, 欄位名2, 欄位名3, ···} from 資料表名 where 欄位名 =值;
修改資料
update 資料表名
set 欄位名1=值1 [, 欄位名2=值2, ···]
[where 條件表示式]
刪除資料
delete from 資料表名 [where 條件表示式];
註釋
mysql中單行註釋以“#”開始標識,也支援標準sql中“--”單行註釋。但是為了防止“--”與SQL語句中負號和減法運算的混淆,在第二個短橫線後必須新增至少一個控制字元(如空格,製表符,換行符等)將其標識為單行註釋符號。
同時,MySQL也支援標準SQL中的多行註釋“/此處填寫註釋內容/”,它的開始符號為“/”,結束符號為“/“,中間的內容就是要編寫的註釋。