實驗菜鳥教程http://www.runoob.com/mysql/mysql-transaction.html
1、創建模式(創建數據庫)
方法二:
方法三:
2、刪除數據庫:
方法二:
3、查詢某數據庫中所有表:
查詢某數據庫中某表的字段名稱:
4、選擇特定數據庫:
注意:所有的數據庫名,表名,表字段都是區分大小寫的。所以你在使用SQL命令時需要輸入正確的名稱。
5、創建表:
方法二:
創建具有外鍵的表:
帶有外鍵表的創建:
7、刪除表:
8、索引類型:
UNIQUE:唯一索引;
Full Text索引類型:
即爲全文索引,目前只有MyISAM引擎支持。
9、索引方式:
BTREE:
10、插入數據庫:
11、查詢表:
BINARY 關鍵字設定 WHERE 子句的字符串比較是區分大小寫。
12、更新表數據:
13、刪除數據表中記錄:
15、LIKE 子句
%字符來表示任意長度的字符串;
_代表單個字符;
16、UNION
默認去重;
加ALL不去重;
17、ORDER BY排序
升序ASC:
降序DESC:
18、GROUP BY分組:
在分組的列上我們可以使用 COUNT, SUM, AVG,等函數。
WITH ROLLUP:在分組統計數據基礎上再進行相同的統計(SUM,AVG,COUNT…)
如果name值爲null就用'總數'代替;
19、Mysql 連接的使用
INNER JOIN ON:等值連接(內連接),獲取兩個表中字段匹配關係的記錄。
LEFT JOIN(左連接):獲取左表所有記錄,即使右表沒有對應匹配的記錄。
RIGHT JOIN(右連接): 與 LEFT JOIN 相反,用於獲取右表所有記錄,即使左表沒有對應匹配的記錄。
20、NULL值:
查找數據表中 某列是否爲 NULL,必須使用 IS NULL 和 IS NOT NULL,不能用=或者!=號
21、正則表達式:
^:以^之後的字符串開頭的;
$:以$之前的字符串爲結尾的;
包含'o'的;
匹配以R或者F開頭、或者以e爲結尾的列;[ ...]:字符集合。匹配所包含的任意一個字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。
22、事務:
在 MySQL 中只有使用了 Innodb 數據庫引擎的數據庫或表才支持事務。
事務處理可以用來維護數據庫的完整性,保證成批的 SQL 語句要麼全部執行,要麼全部不執行。
事務用來管理 insert,update,delete 語句;
事務必須保證ACID條件;
開啓事務BEGIN:
mysql> begin; # 開始事務
Query OK, 0 rows affected (0.00 sec)
mysql> insert into runoob_transaction_test values(7);
Query OK, 1 rows affected (0.00 sec)
mysql> rollback; # 回滾
Query OK, 0 rows affected (0.00 sec)
mysql> select * from runoob_transaction_test; # 因爲回滾所以數據沒有插入
+------+
| id |
+------+
| 5 |
| 6 |
+------+
2 rows in set (0.01 sec)
注意:begin和rollback是成對出現的;
23、ALTER
修改表名或者字段名;
mysql> create table testalter_tbl
-> (
-> i INT,
-> c CHAR(1)
-> );
顯示設計:
刪除創建表i字段;
增加字段ADD(增加列):
ALTER TABLE testalter_tbl ADD a INT FIRST
ALTER TABLE testalter_tbl ADD i INT AFTER c;在c字段後面添加i字段(列);
ALTER命令中使用 MODIFY 或 CHANGE 子句 ,修改字段類型及名稱
24、MySQL索引
普通索引:
刪除索引:
unique唯一索引:
添加唯一索引:
25、複製表內的數據:
26、插入數據:
刪除自增序列,然後再添加自增序列:
如果你刪除了數據表中的多條記錄,並希望對剩下數據的AUTO_INCREMENT列進行重新排列,
27、獲取重複數據並統計:
過濾重複數據:
可以使用 GROUP BY 來讀取數據表中不重複的數據:
28、SQL注入:
其中有:
Like語句中的注入
29、導出表:
導出爲csv格式:
導出SQL格式數據: