mysql的基本使用(很好)

原文鏈接:https://blog.csdn.net/cfy137000/category_7611494.html

建議掌握點

1.數據庫(熟悉):數據庫基本概念,關係型數據庫介紹,mysql安裝與使用,navicat使用

2.Sql語言(重點):數據表操作,數據操作:增刪改查,條件查詢,排序,聚合函數,分組,分頁,鏈接查詢,自關聯,子查詢,子查詢演練

3.數據庫高級功能(瞭解):數據庫設計,命令行操作數據庫,函數,存儲過程,視圖,事務,索引,外鍵,用戶密碼

 

1.JDBC中大數據量的分頁

Mysql語法:

SELECT *

    FROM 表名

    LIMIT [START], length;

Oracle語法:

SELECT *FROM (

        SELECT 列名,列名,ROWNUM rn

        FROM 表名

        WHERE ROWNUM<=(currentPage*lineSize)) temp
 

2.數據定義語言DDL,用來定義數據庫對象:數據庫,表,列等.creat,alter,drop等

數據操作語言DML,用來對數據庫中表的記錄進行更新,insert,delete,update等

 

3.DDL -- 數據庫操作

3.1創建數據庫

create database 數據庫名;

create database if not exists數據庫名; -- 如果不存在則創建

 

  1. 查看數據庫
    1. 查看MySQ服務器中的所有數據庫:

show database;

      1. 查看某個數據庫的定義信息

Show create database 數據庫名;

    1. 刪除數據庫 drop database數據庫名稱;
    2. 切換數據庫 use 數據庫名;
  1. 表結構相關語句

創建表

create table 表名(

         字段名 類型(長度)約束,

         字段名 類型(長度)約束,

);

  1. 刪除主鍵

Alter table 表名 drop primary key;

  1. 查看錶
    1. 查看數據庫中所有的表 show tables;
    2. 查看錶結構 desc 表名;
    3. 查看建表語句 show create table 表名;
  2. 刪除表 drop table 表名;
  3. 刪除列 alter table 表名 drop 新表名;
  4. 修改表名 rename table 表名 to 新表名;
  5. 修改表的字符集alter table 表名 character set 字符集;
  6. 修改列名 alter table 表名 change 列名 新列名 列類型;
  7. 添加列 alter table 表名 add 列名 列類型;

4.DML操作

:mysql,字符串類型和日期類型都要用單引號括起來’tom’,’2020-04-16’;空值:null

4.1 查詢表中所有數據的語句:

select * from 表名;

4.2 插入操作:insert into 表名(列名1,列名2…) values(列值1,列值2…);

4.3 修改操作:update 表名 set 列名1=列值1,列名2=列值2… where 列名=值;

4.4刪除操作:delete from 表名[where 列名=值]6DQL數據查詢語言(重要)

5.數據庫執行DQL語句不會對數據進行改變,而是讓數據庫發送結果集給客戶端。

查詢返回的結果集是一張虛擬表.

語法:select 列名 from 表名[where-> group by-> having-> order by]

SELECT selection_list /要查詢的列名稱/

    FROM table_list /要查詢的表名稱/

    WHERE condition /行條件/

    GROUP BY grouping_columns /對結果分組/

    HAVING condition /分組後的行條件/

    ORDER BY sorting_columns /對結果排序/

    LIMIT offset_start, row_count /結果限定/

6.having和where的區別

having是在分組後對數據進行過濾,而where是在分組前對數據進行過濾

having後面可以使用聚合函數(統計函數),where後面不可以使用聚合函數

7.LIMIT用來限定查詢結果的起始行,以及總行數。

查詢5行記錄,起始行從0開始SELECT * FROM emp LIMIT 0, 5;

8.查詢語句的書寫順序:

select – from- where- group by- having- order by-limit

查詢語句的執行順序:

from - where -group by - having - select - order by-limit

9.多表查詢

內連接 [INNER] JOIN ON

外連接 OUTER JOIN ON

左外連接 LEFT [OUTER] JOIN

右外連接 RIGHT [OUTER] JOIN

全外連接(MySQL不支持)FULL JOIN

自然連接 NATURAL JOIN

         9.1 內連接 SELECT * FROM student INNER JOIN class ON student.sid = class.cid;

         9.2 左外連接 SELECT * FROM temp.student LEFT JOIN temp.class ON sid = cid;

         9.3 右外連接 SELECT * FROM temp.class  RIGHT JOIN temp.student ON sid = cid;

組合查詢: select title,writer,birthaddr,birth from mytable,title

 where mytable.name=title.writer and title=‘a2‘;

10.子查詢就是嵌套查詢, 一個select語句中包含另一個完整的select語句。

10.1 工資高於JONES的員工

SELECT * FROM emp

WHERE sal > (SELECT sal FROM emp WHERE ename='JONES')

10.2 查詢工作和工資與MARTIN完全相同的員工信息

SELECT * FROM emp

WHERE (job,sal) IN (SELECT job,sal FROM emp WHERE ename='MARTIN')

10.3查詢有2個以上直接下屬的員工信息

SELECT * FROM emp

WHERE empno IN (

       SELECT mgr

       FROM emp

       GROUP BY mgr

       HAVING COUNT(mgr) >= 2);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章