mysql 征途_MySQL数据库
MySQL數據庫
數據庫管理系統
數據庫管理系統是一種大型軟件。
常見的關系型數據庫管理系統:
Oracle
DB2
SQL Server:現在用得少了
SQL Lite:用于手機端
MySQL:目前不要下載最新的8.0,下載5.7版本的。
MySQL數據庫安裝步驟略,環境配置很簡單:
新建系統變量%MYSQL_HOME%,值為MySQL Server 5.7所在路徑,默認為C:\Program Files\MySQL\MySQL Server 5.7
修改系統變量path,增加一個值為%MYSQL_HOME%\bin
MySQL數據類型
數值類型
數據類型
字節數
INT
4
DOUBLE
8
DOUBLE(M,D)
8。M表示長度,D表示小數位數
DECIMAL
日期類型
DATE
TIME
YEAR
DATETIME
TIMESTAP:時間范圍短,不要用這個。
字符串類型
CHAR:用于定長字符串,如性別。
VARCHAR:用于變長字符串。
BLOB:二進制。
TEXT:長文本數據。
數據表的操作:
更改數據表的結構
ALTER TABLE 表名 操作......
操作包括:ADD,MODIFY,DROP,CHANGE,RENAME
修改記錄的內容
UPDATE
UPDATE 表名 SET 列1=新值1, 列2=新值2 WHERE 條件
注意:UPDATE語句常常需要配合WHERE條件一起使用,某則UPDATE將對整張表更新!
DELETE
刪除符合條件的記錄。
DELETE FROM 表名 WHERE 條件
TRUNCATE
清空整張表。
TRUNCATE 表名
Q: TRUNCATE 表 與 DELETE FROM 表 有何區別?
A:TRUNCATE是銷毀表然后按照原表結構重新建一張表,原表的行不受影響;
而SELETE FROM 表是逐行刪除表的每一行,每行都受到影響。
實體完整性約束
主鍵約束 PRIMARY KEY:表中的某列值不可重復。
唯一約束 UNIQUE:表中的某列值不可重復,但可以為NULL。
自動增長列 AUTO_INCREMENT:自動增長,只能配合主鍵使用,使得INT類型的主鍵從1開始每次加1。
域完整性約束
對列的單元格的正確性做約束
非空 NOT NULL
默認值約束 DEFAULT:插入記錄時指定某字段為DEFAULT時,其值會設為創建該列時用DEFAULT指定的默認值。
引用完整性約束
CONSTRAINT 引用名 FOREIGN KEY(列名) REFERENCES 被引用表(列名)
注意:
創建表時,先創建主表,后創建從表;
刪除表時,先刪除從表,再刪除主表。
事務
事務是一個原子操作,由一條或多條SQL語句組成。這些SQL語句必須全部執行成功,事務才算成功;如果其中某條SQL語句執行失敗,則整個事務失敗。
事務的特性(ACID)
原子性:一個事務內的所有操作是個整體。
一致性:操作失敗時,數據庫要回滾到操作之前的狀態。
隔離性:在執行完畢之前,數據的改變是外部看不到的。
持久性:持久性事務完成之后,它對系統的影響是永久性的。
事務的操作
開啟事務:START TRANSACTION
提交修改:COMMIT
回滾:ROLLBACK
開啟事務后執行的SQL語句都屬于事務,全部執行成功后執行COMMIT進行提交,否則用ROLLBACK進行回滾。
用戶管理
創建用戶
CREATE USER 用戶名 IDENTIFIED BY 密碼
授權
GRANT ALL ON 數據庫.表 TO '用戶名'
數據庫.*是指數據庫里的所有表。
撤銷權限
REVOKE ALL ON 數據庫.表 FROM '用戶名'
注意:撤銷權限后,被撤銷權限的人要在下次登錄后才生效。
刪除用戶
DROP USER 用戶名
視圖
視圖用來臨時保存查詢結果。視圖不單獨存儲數據,原表內容發生改變時視圖內容也會發生改變。
優點:簡單性;安全性
缺點:
創建視圖
CREATE VIEW 視圖名 AS 查詢語句
修改視圖
若明確知道視圖名存在,則可以這樣修改:
ALTER VIEW 視圖名 AS 查詢語句
若不確定某視圖名是否存在,可以這樣修改:
CREATE OR REPLACE 視圖名 AS 查詢語句
刪除視圖
DROP VIEW 視圖名
刪除視圖不會影響原表。
關于視圖的注意事項:
視圖不獨立存儲數據。原表改變內容,則視圖跟著變化;
視圖沒有優化任何查詢性能;
如果視圖有以下結構,則視圖不能修改:
聚合函數的結果;
GROUP BY分組后的結果;
HAVING過濾后的結果;
DISTINCT去重后的結果;
UNION、UNION ALL 聯合的結果。
參考資料
B站記錄視頻學習進度:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
總結
以上是生活随笔為你收集整理的mysql 征途_MySQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓 监听 mysql_Android监
- 下一篇: git 创建邮箱 用户名_厉害了!IDE