MySQL—-MySQL資料庫入門—-第二章 資料庫和表的基本操作

笑蒼茫發表於2019-02-20

2.1 資料庫和資料庫表的建立

  ①資料庫的建立(在資料庫系統中劃分一塊儲存資料的空間):  

create database 資料庫名稱 [charset 字符集]

  ②資料庫表的建立

use 資料庫名
create table 資料庫表名(
     欄位1    資料型別    [屬性],
     欄位2    資料型別    [屬性],
     欄位3    資料型別    [屬性],
     ...
     欄位n    資料型別    [屬性]
);

注意:

  資料庫

  (1)在①中,[ charset 字符集 ] 是可選的,用於設定資料庫的預設字符集,即資料庫儲存使用的字符集。當不宣告時,預設繼承伺服器的字符集 utf-8

  (2)關於字符集,常見的字符集:ASCII(英文字母,數字)GBK(國標擴充套件中文簡體字符集,big5,繁體中文),UTF8。在開發時候,要注意三碼合一,即資料庫、PHP指令碼、瀏覽器三者各自使用的字符集應該統一,建議顯示為UTF8)。

  (3)已經存在的資料庫,無法再次建立。

  (4)資料庫命名以字母、數字、下劃線組成,長度不超過32個字元

  資料庫表

  (1)在建立資料庫表之前,應該使用“use 資料庫名”指定操作在哪個資料庫中進行,否則會丟擲“No database selected”錯誤。

 

2.2 資料庫和資料庫表的檢視

  ①資料庫的檢視

  檢視全部資料庫:

show databases;

  檢視某個建立的資料庫:

show create database 資料庫名字;

  ②資料庫表的檢視

  檢視當前資料庫中全部資料庫表:

show tables;

  檢視某個具體資料庫表方法1:

show create table 資料庫表名;

  檢視某個具體資料庫表方法2:

desc 資料庫表名;

注意:

  資料庫

  (1)系統資料庫(information_schema,performance_schema,mysql)不能刪除。

  (2)檢視某個具體的資料庫資訊時,顯示的資訊包括資料庫的建立語句及資料庫選項(字符集)。

  資料庫表

  (1)檢視前,需要首先指定要檢視的資料表所在的資料庫。否則:no database selected。

  (2)未選擇資料庫,可以通過from指定資料庫名稱。 show tables from 資料庫名; 

  (3)檢視某個具體資料庫表方法1,可以顯示資料表的結構、定義語句及字符集編碼,若想顯示結果更加美觀,可以使用 show create table 資料庫表名G 

   (4)檢視某個具體資料庫表方法2,檢視錶的欄位資訊,其中包括欄位名、欄位型別等資訊。

 

2.3 修改資料庫和資料庫表

  ①資料庫的修改 

alter database 資料庫名 charset 新字符集;

  ②資料庫表的修改

  1、修改資料庫表名

 

alter table 表名 rename [to] 新表名;

 

  2、修改資料庫表的欄位名

alter table 表名 change  舊欄位名   新欄位名   新欄位的欄位型別;

  3、修改資料庫表的欄位資料型別

alter table 表名 modify  欄位名字   新的資料型別;

  4、新增欄位

alter table 表名 add   欄位名    欄位型別 [約束條件] [first|after 已存在的欄位];

  5、刪除欄位

alter table 表名 drop 欄位名;

  6、調整欄位位置

alter table 表名 modify  欄位名1  資料型別  first|after 欄位名2;

注意:

  資料庫

  (1)資料庫的修改指的是修改資料庫的字符集,資料庫名稱不能修改。

  資料庫表

  (1)在修改資料庫表的欄位名中,新的欄位名稱後面的資料型別必須新增,哪怕新的名稱的資料型別與之前的欄位的資料型別相同,也必須新增。

 

 

2.4 刪除資料庫和資料庫表

  ①資料庫的刪除

drop database 資料庫名稱;

  ②資料庫表的刪除

drop table 資料庫表名稱;

 

2.5 欄位型別初步介紹

   ①整型

  1、tinyint                    -128~127

  2、smallint       -3萬~3萬

  3、int       -800萬~800萬

  4、mediumint    -21億~21億

  5、bigint     太大了,不會計算了

  ②小數

  1、float      float儲存小數型別存在精度的問題

  2、double

  3、decimal(M,D)     對應精度要求比較高的,使用decimal型別,實現小數的精確儲存。其原理為可以儲存每位數字。一般用來儲存與錢有關的數字。

  注意:decimal型別的有效範圍由M和D決定,其中M表示的資料的長度,D表示的小數點後的長度。例如將資料型別為decimal(6,2)的資料3.1415插入資料庫後,顯示的結果是3.14.

  ③字串型別

  1、char(M)      char儲存長度比較固定的字串,如手機號,身份證號,序列號,郵編,速度快

  2、varchar(M)    varchar一般用來儲存長度變化比較大的字串,如文章標題,商品名稱,速度慢

  注意:

  M為該欄位可以儲存的最多字元數,如varchar(10)。M引數不可以省略,此外不能超出指定的長度。

  可以使用text型別,儲存較長的字串,無需指定字串的具體長度。

  ④日期型別

  1、year      YYYY          `1999`/1999 (支援數字或者字串插入)

  2、date  YYYY-MM-DD      支援‘YYYY-MM-DD’或者‘YYYYMMDD’字串格式插入

  3、time  HH:MM:SS       支援“HHMMSS”字串/HHMMSS數字格式插入

  4、datetime   YYYY-MM-DD HH:MM:SS    支援“YYYY-MM-DD HH:MM:SS”/“YYYYMMDDHHMMSS”字串或者YYYYMMDDHHMMSS數字格式插入

  

2.6 表的屬性(約束)

  ①primary key 主鍵約束,唯一標識對應記錄。主鍵欄位的值不能重複,不能為空

  ②foreign key 外來鍵約束。

  ③null / not null   非空約束。

  ④default     設定欄位的預設值,在沒有錄入時自動使用預設值填充。

  ⑤unique   唯一鍵,設定欄位的值為唯一的,可以同時設定多個欄位為唯一鍵。唯一鍵欄位的值可以為空。

  ⑥auto_increment       設定欄位為自動增長,預設從1開始自動分配編號。型別必須為整型。自增長欄位必須為一個key。

  ⑦comment          欄位註釋

相關文章