1. 程式人生 > >MYSQL基礎知識小盲區

MYSQL基礎知識小盲區

oca 再處理 rim 時間 select 函數 開始 大小寫 ngs

MYSQL必會的知識

  1. 命令行 啟動mysql: mysql -u用戶名 -p密碼
  2. 顯示表中的各列詳細信息: show columns form tablename 等價於 desc tablename
  3. 查看所有show命令: help show
  4. 查詢數據時未使用排序,顯示的結果是沒有順序意義的
  5. 去掉重復的行使用distinct: select distinct id from user
  6. limit關鍵字的使用: select * from user limit 5; 查詢出不多於5行數據 select * from user limit 5,5; 從第五行數據開始查詢,返回5條記錄 (即5到10 的記錄)
  7. 使用order by 進行排序,默認的是升序排列: select *from user order by age desc,name ; 按照年齡降序排列,年齡相同時按照姓名升序排列
  8. 查詢name字段為null的記錄: select * from user where name is null;
  9. 關鍵字 and 和 or,優先處理and,然後再處理or旁邊的語句,並且每個只執行一次。
  10. 通配符: % 匹配一個或多個字符 select * from user where name=‘a%‘; 查詢所有name以a開頭的記錄 這裏的查詢條件區分大小寫
  11. 查詢條件為‘%’時 select * from user where name=‘%‘;不會匹配name為null的記錄
  12. 通配符 “-” 只匹配一個字符
  13. mysql的正則表達式關鍵字 regexp: select *from user where age regexp ‘10‘ ; 查詢所有年齡為10的記錄
  14. 正則表達式符號“.” 一個點表示匹配任意一個字符 select * from user where age regexp ‘.0‘;查詢出所有年齡為整10的記錄,可以是10,20,30,等等。
  15. 就加入需要使用正則表達式去匹配.點這個符號,則需要轉義,使用 \\. 去匹配
  16. 符號 ^ 的作用有兩個:一個是表示指定串的開始,另一個是在集合中表示否定集合
  17. 符號 $ 的作用: 表達式的結束
  18. 拼接字符串使用關鍵字contact, contact(a,‘(‘,b,‘)‘)
  19. RTrim(name) 去掉name這一列的右邊的所有空格
  20. LTrim(name) 去掉name這一列的左邊的所有空格
  21. Trim(name) 去掉name這一列的兩邊的全部空格
  22. 函數left() ,使用示例: select left(‘zhangsan‘,1); 返回字符串zhangsan的一個字符z
  23. 函數Locate(),使用示例: select locate(‘a‘,‘bbabc‘); 返回第一個字符串在第二個字符串中出現的位置 3
  24. 函數Soundex() 使用示例: select * from user where Soundex(name) = Soundex(‘li‘);返回所有name的讀音和 li 相似的記錄
  25. 查看系統時間的函數: select CurDate() ;查看當前日期 ,select CurTime() ; 查看當前時間
  26. 函數max()和函數min()都會忽略掉職位null的行
  27. 聚集函數中可以使用distinct ,例如: select avg(distinct age) as ageavg from user;
  28. 關鍵字group by必須在where後和order by 之前
  29. where用來過濾行,having用來過濾分組 例如: select id ,count(*) as nums from user group by id having count(*)>=2;
  30. 關鍵字union鏈接查詢語句,至少由兩條select語句組成,多個之間都是用union連接(使用union時會自動去掉重復的行記錄,如果不想去掉就使用 union all)
  31. 全文本搜索 Match() 指定搜索的列,Aganist()指定要使用的表達式
  32. 全文搜索示例:select text from mail where Match(text) Aganist(‘right‘); 其中text是定義表的時候指定的索引字段,FULLTEXT(text)定義
  33. 創建表,id自增時設置 id int(10) primary key auto_increment
  34. 修改列名和數據類型: alter table 表名 change column 舊列名 新列名 列類型; alter table user change column name username varchar(30); 將user表中的name列變為username.
  35. 添加列: alter table user ADD hobby varchar(30);為user表中添加新列hobby,類型為varchar
  36. 刪除列: alter table user DROP column age ; 刪除user表中age那一列
  37. 重命名表: rename table 舊表名 to 新表名; alter table user to person; 將名為user的表改名為 person.

MYSQL基礎知識小盲區