1. 程式人生 > 其它 >資料庫基本操作

資料庫基本操作

目錄

資料庫操作

建立資料庫

create database 資料庫名稱 [庫選項];

[^create database表示建立資料庫;“資料路名稱”可以是字母,數字和下劃線組成的任意字串;“庫選項“用於設定此資料庫的相關特性,如字符集charset,校對集collate。]:

[^語法中使用的”[]“括起來的選項表示可選引數。]:

[^如果建立的資料庫已存在,則程式會報錯。為了防止這種情況的發生,在建立資料庫時可以在”資料庫名稱“前新增if not exists,表示指定的資料庫不存在時進行建立操作,否則忽略此操作。]:

檢視資料庫

  1. 檢視MySQL伺服器下的所有資料庫:

    show databases;
    
  2. 檢視指定資料庫的建立資訊:

    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 (此處省略欄位的定義);

檢視資料表

  1. 檢視資料表
show tables [like匹配模式];
  1. 檢視資料表的相關資訊
show table status [from資料庫名] [like匹配模式];

修改資料表

  1. 修改資料表名稱
#語法格式1
alter table 舊錶名 rename [to|as] 新表名;
#語法格式2
rename table 舊錶名1 to 新表名1[舊錶名1 to 新表名2]...
  1. 修改表選項
alter table 表名 表選項 [=] 值;

查看錶結構

  1. 檢視資料表的欄位資訊
#語法格式1: 檢視所有欄位的資訊
{describe|desc}資料表名;
#語法格式2: 檢視指定欄位的資訊
{describe|desc}資料表名 欄位名;
  1. 檢視資料表的建立語句
show create table 表名;
  1. 檢視資料表結構
#語法格式1
show [full] columns from 資料表名 [from資料庫名];
#語法格式2
show [full] columns from 資料庫名.資料表名

修改表結構

  1. 修改欄位名

    alter table 資料表名 ahcnge[column] 舊欄位名 新欄位名 欄位型別 [欄位屬性];
    
  2. 修改欄位型別

    alter table 資料表名 modify [column] 欄位名 新型別 [欄位屬性];
    
  3. 修改欄位的位置

    alter table 資料表名
    modify [column] 欄位名1 資料型別 [欄位屬性] [first|after 欄位名2];
    
  4. 新增欄位

    #語法格式1 新增一個欄位,並可指定其位置
    alter table 資料表名;
    #語法格式2 同時新增多個欄位
    alter table 資料表名
    add [column] (新欄位名1 欄位型別1, 新欄位名2 欄位型別2, ···);
    
  5. 刪除欄位

    later table 資料表名 drop [column] 欄位名;
    

刪除資料表

drop [temporary] table [if exists] 資料表1 [資料表2]···;

資料操作

新增資料

  1. 為所有欄位新增資料

    insert [into] 資料表名 {values|value}(值1[, 值2]···);
    

    [^若建立的資料表未指定字符集,則資料表及表中的欄位將使用預設的字符集iatinl。為解決此問題,可在建立語法後受用“default charset utf8”表示設定字符集,utf8支援世界上大多數國家的字元,通常推薦使用此字符集。]:

  2. 為部分欄位新增資料

    insert [into] 資料表名 (欄位名1[, 欄位名2]···)
    {values|value} (值1[, 值2]···);
    
    insert [into] 資料表名
    set 欄位名1=值1 [, 欄位名2 =值2]···;
    
  3. 一次新增多行資料

    insert [into] 資料表名 [(欄位列表)]
    {values|value} (值列表) [, 值列表]···;
    

查詢資料

  1. 查詢表中全部資料

    select * from 資料表名;
    
  2. 查詢表中部分資料

    select {欄位名1, 欄位名2, 欄位名3, ···} from 資料表名
    
  3. 簡單條件查詢資料

    select * |{欄位名1, 欄位名2, 欄位名3, ···}
    from 資料表名 where 欄位名 =值;
    

修改資料

update 資料表名
set 欄位名1=值1 [, 欄位名2=值2, ···]
[where 條件表示式]

刪除資料

delete from 資料表名 [where 條件表示式];

註釋

mysql中單行註釋以“#”開始標識,也支援標準sql中“--”單行註釋。但是為了防止“--”與SQL語句中負號和減法運算的混淆,在第二個短橫線後必須新增至少一個控制字元(如空格,製表符,換行符等)將其標識為單行註釋符號。

同時,MySQL也支援標準SQL中的多行註釋“/此處填寫註釋內容/”,它的開始符號為“/”,結束符號為“/“,中間的內容就是要編寫的註釋。