MySQL資料庫基本知識

freebus發表於2020-02-26

1.建立資料庫


  CREATE DATABASE database_name


2.刪除資料庫


  DROP DATABASE database_name


3.選擇資料庫


  USE database_name


4.資料型別


(1)數值型別



MySQL資料庫基本知識

 (2)日期和時間型別




 (3)字串型別


5.建立資料表


  CREATE TABLE table_name (column_name column_type)


6.刪除資料表


  DROP TABLE table_name


7.更新資料表資訊


  (1)新增表欄位


    ALTER TABLE table_name ADD new_column DATATYPE


    使用FIRST關鍵字可以將新增列的順序調整至資料表的第一列


    ALTER TABLE table_name ADD new_column DATATYPE FIRST


    使用AFTER關鍵字可以將新增列調整至資料表的指定列之後


    ALTER TABLE table_name ADD new_column DATATYPE AFTER old_column


  (2)刪除表欄位


    ALTER TABLE table_name DROP old_column


  (3)修改表欄位型別


    ALTER TABLE table_name  MODIFY column_name NEW_DATATYPE


  (4)修改欄位名稱


    ALTER TABLE table_name CHANGE old_column_name new_column_name DATATYPE


8.插入資料


  INSERT INTO table_name  (column1, column2,column3...columnN)


          VALUES


               (value1, value2, value3...valueN);


9.查詢資料


  SELECT column1, column2, column3...columnN FROM table_name


  (1)使用*可以替代欄位名,SELECT語句會返回表的所有欄位


    例:SELECT * FROM table_name


  (2)可以使用WHERE語句來包含任何條件


    例:SELECT * FROM table_name WHERE column=1


  (3)可以使用LIMIT屬性設定返回的記錄數


    例:返回查詢結果的前三條記錄


    SELECT * FROM table_name LIMIT 3


    例:返回查詢結果的第三條記錄


    SELECT * FROM table_name LIMIT 2,1      (2指的是第幾條資料(從0開始計數),1指的是從2開始返回幾條資料)


  (4)可以使用OFFSET指定開始查詢的偏移量,預設情況下偏移量為0


    例:SELECT * FROM table_name LIMIT 2 OFFSET 3 等於 SELECT * FROM table_name LIMIT 2,3


10.更新資料


  UPDATE table_name SET column1=value1, column2=value2


  WHERE condition


11.刪除資料


  DELECE FROM table_name


  WHERE condition


12.LIKE子句


  LIKE子句中使用%號來表示任意字元,其的效果類似正規表示式中的*,如果沒有使用%,那麼LIKE的效果等價於=


  SELECT * FROM table_name


  WHERE column1 LIKE %condtion%


 13.UNION


  SELECT column1,  column2, column3...columnN FROM table_a


  [WHERE condition]


  UNION [ALL | DISTINCT]


  SELECT column1,  column2, column3...columnN FROM table_b


  [WHERE condition]


  UNION的作用的連線兩個查詢結果集


  DISTINCT的作用是對兩個結果集進行去重處理,預設情況下已經是DISTINCT的結果了


  ALL的作用的不對兩個結果集進行去重處理


14.ORDER BY


  SELECT * FROM table_name


  ORDER BY column1 [ASC | DESC]


  ASC:將結果集按column1升序排列,預設情況下使用升序排序


  DESC:將結果集按column1降序排列


15.GROUP BY


  把資料按照指定列(可以是一列或者多列)進行分組,通常和計算函式COUNT()還有SUM(),AVG()等求值函式一起使用


  例:根據column1將資料進行分組,並且統計每種資料的記錄數


    SELECT column1, COUNT(*) FROM table_name


    GROUP BY column1


  WITH ROLLUP可以將GROUP BY的統計結果集基礎上再做相同的統計(SUM,AVG....)


  例:假設有下面這樣一張表 name=姓名,website=網站,access_count=訪問記錄

name website access_count
張三 百度 3
李四 新浪 5
王五 淘寶 4
張三 新浪 2
李四 百度 1
王五 搜狐 4
趙六 搜狐 5



  執行如下程式碼:


    SELECT name, SUM(access_count) FROM table_name


    GROUP BY name WITH ROLLUP


  得到:

ame SUM(access_count)
張三 5
李四 6
王五 8
趙六 5
NULL 24



16.INNER JOIN


  INNER JOIN被稱為內連線或者等值連線,獲取兩個表中欄位匹配關係的記錄

  


 


   例:SELECT table1.column1, table1.column1, table2.column3 FROM table1


     INNER JOIN table2


     ON condition


17.LEFT JOIN


  LEFT JOIN被稱為左連線,獲取左邊所有記錄,右表沒有的記錄補為NULL

  


 


   例:SELECT table1.column1, table1.column2, table2.column3 FROM table1


     LEFT JOIN table2


     ON condition


18.RIGHT JOIN


  RIGHT JOIN被稱為右連線,獲取右邊所有資料,左表沒有的記錄補為NULL


  

 


   例:SELECT table1.column1, table2.column2, table2.column3 FROM table1


     RIGHT JOIN table2


     ON condition


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31365439/viewspace-2677272/,如需轉載,請註明出處,否則將追究法律責任。

相關文章