1、mysql資料型別:
整數型別、浮點數型別、定點數型別、日期和時間型別、字串型別和二進位制資料型別。
1)整數型別:integer(4位元組數)和smallint(2位元組數),此外還擴充套件支援tinyint(1位元組數)、mediumint(3位元組數)、bigint(8位元組數)。
2)浮點數型別:單精度浮點數float(4位元組數)、雙精度浮點數double型(8位元組數)。
3)定點數型別decimal(m+2位元組數)。
4)日期與時間型別:year型別表示年份、date型別表示日期、time型別表示時間、datetime和timestamp表示日期和時間。
5)字串型別:char型別和varchar型別、text型別、enum型別、set型別。
6)二進位制型別:binary和varbinary型別、bit型別、blob型別
2、建立和刪除資料庫
create database 資料庫名;
drop database 資料庫名;
3、建立表
create table 表名(屬性名 資料型別[完整性約束條件],
屬性名 資料型別[完整性約束條件],
......
);4、表的主鍵和外來鍵
主鍵是表的乙個特殊字段,該字段能唯一地表示該表中的每條資訊。
外來鍵是表的乙個特殊字段,如果欄位sno是乙個表a的屬性,且依賴於表b的主鍵。那麼,稱表b為父表,表a為子表,sno為表a的外來鍵。通過欄位sno將父表b和子表a建立關聯關係。
5、設定表的非空約束
非空性是指字段的值不能為空值(null)
屬性名 資料型別 not null;
6、設定表的唯一性約束
唯一性是指所有記錄中該字段的值不能重複出現。
屬性名 資料型別 unique;
7、設定表的屬性值自動增加
auto_increment是mysql資料庫中乙個特殊的約束條件,其主要用於為表中插入的新記錄自動生成唯一的id。預設情況下,該字段的值是從1開始自增。
屬性名 資料型別 auto_increment;
8、設定表的屬性的預設值
在建立表時可以指定表中字段的預設值,如果插入一條新的記錄時沒有為這個字段賦值,那麼資料庫系統會自動為這個字段插入預設值。
屬性名 資料型別 default 預設值;
9、檢視表結構
包括describe語句和show create table語句。
describe 表名;
show create table 表名;
10、修改表名
表名可以在乙個資料庫中唯一的確定一張表。
alter table 舊表名 rename [to] 新錶名;
11、修改欄位的資料型別
alter table 表名 modify 屬性名 資料型別;
12、修改欄位名
欄位名可以在一張表中唯一的確定乙個字段,資料庫系統通過欄位名來區分表中的不同字段。
alter table 表名 change 舊屬性名 新屬性名 新資料型別;
13、增加字段
alter table 表名 add 屬性名1 資料型別[完整性約束條件] [first] after 屬性名2;
1)增加無完整性約束條件的字段
2)增加有完整性約束條件的字段
3)表的第乙個位置增加字段
4)表的指定位置之後增加字段
14、刪除字段
alter table 表名 drop 屬性名;
15、索引
索引是一種特殊的資料庫結構,可以用來快速查詢資料庫表中的特定記錄。mysql包括普通索引、唯一性索引、全文索引、單列索引、多列索引和空間索引。
16、檢視
檢視是一種虛擬的表,檢視從資料庫中的乙個或多個表中匯出來的表。檢視還可以從已經存在的檢視的基礎上定義。資料庫中只存放了檢視的定義,而並沒有存放檢視中的資料。這些資料存放在原來的表中,使用檢視查詢資料時,資料庫系統會從原來的表中取出對應的資料。
17、觸發器
觸發器(trigger)是由事件來出發某個操作,這些事件包括insert語句、update語句和delect語句。當資料庫系統執行這些事件時,就會啟用觸發器執行相應的操作。
mysql中,觸發器執行的順序時before觸發器、表操作(insert、update和delete)、after觸發器。
資料庫學習紀要(二十) MySQL簡介 4
4 條件判斷函式 4.1.if expr,v1,v2 函式中,如果表示式expr成立,返回結果v1 否則返回結果v2 select id,grade,if grade 60,pass fail from t6 4.2.ifnull v1,v2 函式中,如果v1的值不為空,就顯示v1的值 否則就顯示v...
MySQL資料庫瓶頸簡析
查詢與索引優化分析 在優化mysql時,通常需要對資料庫進行分析,常見的分析手段有慢查詢日誌,explain 分析查詢,profiling分析以及show命令查詢系統狀態及系統變數,通過定位分析效能的瓶頸,才能更好的優化資料庫系統的效能。效能瓶頸定位show命令 我們可以通過show命令檢視mysq...
MySQL高階 Mysql資料庫儲存引擎簡介
innodb儲存引擎 innodb是mysql的預設事務型引擎,它被設計用來處理大量的短期 short lived 事務。除非有非常特別的原因需要使用其他的儲存引擎,否則應該優先考慮innodb引擎。行級鎖,適合高併發情況 myisam儲存引擎 myisam提供了大量的特性,包括全文索引 壓縮 空間...