2.1 資料庫和資料庫表的創建 ①資料庫的創建(在資料庫系統中劃分一塊存儲數據的空間): ②資料庫表的創建 註意: 資料庫 (1)在①中,[ charset 字元集 ] 是可選的,用於設定資料庫的預設字元集,即資料庫存儲使用的字元集。當不聲明時,預設繼承伺服器的字元集 utf-8。 (2)關於字元集 ...
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 欄位註釋