資料庫學習紀要(十七) MySQL簡介 1

2021-08-08 02:17:49 字數 2127 閱讀 8486

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提供了大量的特性,包括全文索引 壓縮 空間...