1. 程式人生 > >mysql資料庫的內容1

mysql資料庫的內容1

Mysql 資料庫

互動方式: 1.連結伺服器,認證身份 Mysql.exe -hlocalhost -p3306 -uroot -p 密碼: 2.客戶端傳送SQL指令 Show database 3.伺服器接受指令 4.客戶端接受結果:顯示結果 5.斷開連結:\q exit quit

Mysql 伺服器物件 將mysql伺服器物件分成了四層:系統(DBMS)->資料庫(Table)->欄位(Field) SQL基本操作 基本操作:CRUD 將SQL的基操作根據操作物件進行分類,分為三類:類操作,表操作(欄位),資料操作 庫操作:對資料庫增刪改查 新增資料庫: 基本語法 Create database 資料庫名字[庫選項]; 庫選項:用來約束資料庫,分為兩個選項 字符集設定:charset/character set 具體字符集(資料庫的編碼格式);常用字符集:GDK和utf-8; 校對集設定:collate 具體校對集(資料比較的規則) 註釋:–+空格或# 如果用關鍵字或中文或保留字 前面用 中文資料庫可以用,但伺服器必須識別,建議不用 前面set names gbk;

當建立資料庫中的SQL語句執行發生了什麼? 1.在資料庫中增加了對應的資料庫資訊 2.會在報訊資料庫的資料夾下:Date目錄,建立一個對應的資料庫名字的資料夾 3.每個資料庫都有一個opt檔案 檢視資料庫 1.檢視所有資料庫: show database; 2.檢視指定部分的資料庫:模糊查詢 :show database like ‘pattern’; --pattern匹配模式 %:匹配多個字元 _:匹配單個字元 檢視information_開始的資料庫:_需要被轉義 show database like ‘information_x’檢視一個 3.檢視資料庫的建立語句 show create database mydatabase; 更新資料庫 資料庫的名字不可以修改 資料庫的修改僅限庫選項:字符集和校對集(校對集依賴字符集) Alter database 資料庫名字[庫選項]: Charset/character set[=]字符集 Collate 校對集 刪除資料庫 所有操作刪除最簡單 Drop database 資料庫名字;

當資料庫中執行刪除之後發生了什麼? 1.在資料庫中看不到對應的資料庫 2.在對應的資料庫儲存的資料夾內:資料庫名字對應的資料夾也被刪除(級聯刪除:裡面的資料表全部被刪除) 表操作 表與欄位密不可分的, 新增資料表 Create table [if not exists] 表名( 欄位名字 資料型別, 欄位名字 資料型別 --最後不需要逗號 )[表選項]; If not exists :如果表不存在,那麼就建立,否則不執行;檢查功能表選項,控制表的表現 字符集:charset/character set 具體字符集;–保證表中資料儲存的字符集 校對集:collate 具體校對集 儲存引擎:engine 具體的儲存引擎(innodb和myisam)

任何一個表的設計都必須指定資料庫 方案一:顯示的指定表的所屬的資料庫 Create table 資料庫名.表名(); 方案二:隱式的指定表所屬資料庫:先進入某個資料庫環境,然後這樣建立的表自動歸屬到某個指定的資料庫。 進入資料庫環境:user 資料庫名字; 檢視資料表 檢視所有資料表:show tables; 檢視部分表:show tables like ’pattern’ % _ 查看錶的建立語句:show create table 表名 注意 /g=; 查看錶結構:查看錶中的欄位資訊 Desc/describe/show columns from 表名; 修改資料表 修改表本身:表名和表選項 修改表名:rename table老表名to新表名 修改表選項:字符集,校對集和儲存引擎 Alter table 表名 表選項[=]值 Alter table my student charset = GBK; 修改欄位 新增,修改,重名,刪除 新增欄位 Alter table 表名 add[column]欄位名 資料型別[列屬性][位置];

資料型別 資料型別:對資料進行統一的分類 管理:更好的利用有限的空間 三大型別:數值型別,字串型別和時間日期型別。

數值型: 都是數值。整數型和小數型

常用 tinyint int 字串型別:字串型別指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。 時間日期型別:表示時間值的日期和時間型別為DATETIME、DATE、TIMESTAMP、TIME和YEAR。 每個時間型別有一個有效值範圍和一個"零"值,當指定不合法的MySQL不能表示的值時使用"零"值。 TIMESTAMP型別有專有的自動更新特性。