MySQL數據庫基本知識


1.創建數據庫

  CREATE DATABASE database_name

2.刪除數據庫

  DROP DATABASE database_name

3.選擇數據庫

  USE database_name

4.數據類型

(1)數值類型

 (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

  得到:

name 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM