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 欄位註釋