1.Mysql的where子句默認不區分大小寫
如需按大小寫嚴格匹配,可在where關鍵字後加上 BINARY
select * from tablename where BINARY exp
2.Mysql支持的正則表達式
(1) ^ 匹配輸入字符串的開始地址
select * from tablename where COLUMN REGEXP '^begin'
(2) $ 匹配輸入字符串的結束地址
select * from tablename where COLUMN REGEXP 'end$'
(3) [...] 字符集合,匹配任意一個字符,若有則成立
select * from tablename where COLUMN REGEXP '[abc]'
(4) [^...] 匹配全不包含條件
select * from tablename where COLUMN REGEXP '[^...]'
(5) p1|p2|p3 匹配滿足一個條件的
select * from tablename where COLUMN REGEXP 'p1|p2|p3'
(6) * 匹配前邊子表達式零次或多次
select * from tablename where COLUMN REGEXP 'zo*'
(7) + 匹配前邊表達式一次或多次
select * from tablename where COLUMN REGEXP 'zo+'
(8) {n} 匹配連續出現的次數
select * from tablename where COLUMN REGEXP 'o{2}'
(9) {n,m} n<=m 最少匹配n次,最多匹配m次
select * from tablename where COLUMN REGEXP 'o{n,m}'
3.事務
三個性質:
原子性:一組事務,要麼全完成,要麼全撤回
穩定性:非法數據出現撤回事務
隔離性:一個事務的處理結果影響替他事物,其他事務全撤回
可靠性:突發崩潰,innoDB數據表驅動可根據日誌文件重構修改。
事務指令
begin:開始一個事務
commit:提交一個事務
rollback:回滾事務,rollback to identifier 回滾到標記點
release SAVEPOINT identifier;刪除事務保存點,當沒有指定的保存點,拋異常;
3.常見指令
創建數據庫
create database tt
刪除數據庫
drop database tt
創建表
create table tablename()
刪除表
drop table tablename
清空內容,釋放空間,自增重置,不刪除結構。
truncate table tablename;
4.alter指令
修改表名
alter TABLE tablename RENAME tablename
修改表結構及數據類型
alter TABLE tablename CHANGE COLUMN oldcolumn newcolumn datatype
增加列
alter TABLE tablename add CLOUMN columnname datatype
刪除列
alter TABLE tablename drop COLUMN cloumnname
5.limit指令
查詢m條數據
select * from tablename limit m
從m條數據開始向下查詢n條數據,不包括第m條
select * from table limit m,n
6.order by
按從小到大排序
select * from tablename order by columnname
按從大到小排序
select * from tablename order by columnname DESC
7.group by
分成小塊統計輸出
select * from tablenaem group by cloumnname