天天看點

mysql 全面知識點_Mysql知識點個人整理

1.概念

資料庫:儲存有組織的資料的容器。

表: 某種特定類型資料的結構化清單

模式:關于資料庫和表的布局和特性的資訊?(有時指資料庫)

主鍵: primary key 一個列或一組列,其值能唯一區分表中的每個行(滿足:唯一性和不為NULL)

SQL: 結構化查詢語言,與資料庫通信的語言

MySQL: DBMS 資料庫系統管理軟體

注意點:

MySQL不區分大小寫,但将關鍵字大寫易于閱讀,對表名,資料庫名,列名最好使用時保持大小寫一緻。

是否區分大小寫,由資料庫管理者在建立資料庫時設定,Mysql通常預設不區分大小寫。

2.基本語句練習

使用《MySQL必知必會》的樣例表

show

usetest;

show tables;

showcreate databasetest;

showcreate tableproducts;

show status;

show errors;

show warnings;

選區products表的指定列,剔除重複行,保留從第三行起的接下來6行。

select distinct prod_Name, prod_id, prod_name from products limit 3,6;

在上一個操作之上加入排序,按價格降序排列,再按産品名稱升序排列,同樣取結果的第三行到第九行。

select distinct prod_name, prod_id, prod_price fromproductsorder by prod_price desc, prod_name

limit3,6;

查找顧客表,傳回指定除email位址以外的使用者:

select * from customers where cust_email is not '[email protected]';

注意:獲得的結果不包括email值為NULL的使用者,NULL在MySQL通常指未知,故在本次查詢中不傳回帶NULL的結果項。‘資料庫不知道他們是否比對,是以在比對過濾或比對不過濾時不傳回他們’。是以,在進行條件查詢時,需要額外考慮是否傳回NULL項:

查找顧客表,傳回指定email位址以外以及未填寫email位址的使用者:

select * from customers where cust_email != '[email protected]' or cust_email is null;

【通配符】,查找所有email位址以‘rabb’開頭的顧客的資訊:

select * from customers where cust_email like 'rabb%';

%比對任意個字元,‘_’比對一個字元。

通配符一般不要處于搜尋模式的開始處,會比較慢。

LIKE關鍵字必須對整個列值進行比對,隻需要部分值比對可以使用正規表達式。

【正規表達式】查詢産品名以JetPack開始,000結尾的産品資訊,區分大小寫。分别以LIKE關鍵字和正規表達式處理:

select * from products where prod_name like binary 'JetPack%000';select * from products where prod_name regexp binary '^JetPack.*000$';