<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      一、SQL 

      MySQL 是服務器軟件,安裝了 MySQL 的計算機就是服務器了,其他計算機作為客戶端可以訪問該 MySQL 服務器

       1、SQL 的概念

      Structured Query Language:結構化查詢語言

      SQL 定義了操作所有關系型數據庫的規則

      2、SQL 通用語法

      (1)SQL 語句可以單行或多行書寫,以分號結尾

      (2)可使用空格和縮進來增強語句的可讀性

      (3)MySQL 數據庫的 SQL 語句不區分大小寫,關鍵字建議使用大寫

      (4)三種注釋

      單行注釋:
      
        方法一:-- 注釋內容 
      
        方法二:# 注釋內容 
      
      多行注釋:
      
        /* 注釋 */

      3、SQL 分類

      (1)DDL(Data Definition Language)數據定義語言

      • 用來定義數據庫對象:數據庫、表、列等
      • 關鍵字:create、drop、alter 等

      (2)DML(Data Manipulation Language)數據操作語言

      • 用來對數據庫中表的數據進行增刪改
      • 關鍵字:insert、delete、update 等

      (3) DQL(Data Query Language)數據查詢語言

      • 用來查詢數據庫中表的記錄(即數據)
      • 關鍵字:select、where 等

       

       

      二、DDL

      1、操作數據庫:CRUD

      (1)C(Create):創建

      ① 創建數據庫:
      create database 數據庫名稱;
      
      ② 創建數據庫,判斷不存在,再創建:
      create database if not exists 數據庫名稱;
      
      ③ 創建數據庫,并指定字符集
      create database 數據庫名稱 character set 字符集名;

      (2)R(Retrieve):查詢

      ① 查詢所有數據庫的名稱:
      show databases;
      
      ② 查詢某個數據庫的字符集:查詢某個數據庫的創建語句
      show create database 數據庫名稱;

      (3)U(Update):修改

      修改數據庫的字符集
      alter database 數據庫名稱 character set 字符集名稱;

      (4)D(Delete):刪除

      ① 刪除數據庫
      drop database 數據庫名稱;
      
      ② 判斷數據庫存在,存在再刪除
      drop database if exists 數據庫名稱;

      (5)使用數據庫

      ① 查詢當前正在使用的數據庫名稱
      select database();
      
      ② 使用數據庫
      use 數據庫名稱;

      2、操作表:CRUD

      (1)C(Create):創建

      create table 表名(
                      列名1 數據類型1,
                      列名2 數據類型2,
                      ....
                      列名n 數據類型n
      );

      數據類型:

      • int:整數類型,例如:age int
      • double:小數類型,例如:score double(5,2)
      • date:日期類型,只包含年月日,格式為 yyyy-MM-dd
      • datetime:日期類型,包含年月日時分秒,格式為 yyyy-MM-dd HH:mm:ss
      • timestamp:時間戳類型,包含年月日時分秒,格式為 yyyy-MM-dd HH:mm:ss
      • varchar:字符串類型,例如:name varchar(20),指的是姓名最大20個字符

      提示:如果將來不給 timestamp 這個字段賦值,或賦值為 null,則默認使用當前的系統時間,來自動賦值

      (2)R(Retrieve):查詢

      ① 查詢某個數據庫中所有的表名稱
      show tables;
      
      ② 查詢表結構
      desc 表名;

      (3)U(Update):修改

      ① 修改表名
      alter table 表名 rename to 新的表名;
      
      ② 修改表的字符集
      alter table 表名 character set 字符集名稱;
      
      ③ 添加一列
      alter table 表名 add 列名 數據類型;
      
      ④ 修改列名稱 類型
      alter table 表名 change 列名 新列名 新數據類型;
      alter table 表名 modify 列名 新數據類型;
      
      ⑤ 刪除列
      alter table 表名 drop 列名;

      (4)D(Delete):刪除

      drop table 表名;
      drop table  if exists 表名 ;

      (5)復制表

      create table 表名 like 被復制的表名;

       

      三、DML

      1、添加數據

      insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);

      注意:

      • 列名和值要一一對應。
      • 如果表名后,不定義列名,則默認給所有列添加值
      • 除了數字類型,其他類型需要使用引號(單雙都可以)引起來

      2、刪除數據

      delete from 表名 [where 條件]

      注意:

      • 如果不加條件,則刪除表中所有記錄
      • 如果要刪除所有記錄,如下:
      delete from 表名;    -- 不推薦使用
      有多少條記錄就會執行多少次刪除操作
      
      TRUNCATE TABLE 表名;    -- 推薦使用
      效率更高 先刪除表,然后再創建一張一樣的表

      3、修改數據

      update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 條件];

      注意:如果不加任何條件,則會將表中所有記錄全部修改。

       

      四、DQL

      1、基礎查詢

      ① 多個字段的查詢
      select 字段名1,字段名2... from 表名;
      
      ② 查詢所有字段
      select * from 表名;

      2、條件查詢

      (1)where 子句后跟條件

      (2)運算符

      •  > 、< 、<= 、>= 、= 、<>
      • BETWEEN...AND
      • IN( 集合)
      • LIKE:模糊查詢
      • 占位符:

          _:單個任意字符

          %:多個任意字符

      • IS NULL
      • and 或 &&
      • or 或 ||
      • not 或 !

      (3)舉例

       1 -- 查詢年齡大于20歲
       2 SELECT * FROM student WHERE age > 20;
       3 SELECT * FROM student WHERE age <= 20;
       4 
       5 -- 查詢年齡等于20歲
       6 SELECT * FROM student WHERE age = 20;
       7 
       8 -- 查詢年齡不等于20歲
       9 SELECT * FROM student WHERE age != 20;
      10 SELECT * FROM student WHERE age <> 20;
      11 
      12 -- 查詢年齡大于等于20 小于等于30
      13 SELECT * FROM student WHERE age >= 20 &&  age <=30;
      14 SELECT * FROM student WHERE age >= 20 AND  age <=30;
      15 SELECT * FROM student WHERE age BETWEEN 20 AND 30;
      16 
      17 -- 查詢年齡22歲,18歲,25歲的信息
      18 SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25
      19 SELECT * FROM student WHERE age IN (22,18,25);
      20 
      21 -- 查詢英語成績為null
      22 -- 錯誤做法:null 值不能使用 = (!=)判斷
      23 SELECT * FROM student WHERE english = NULL; 
      24 -- 正確做法:用 IS 判斷    
      25 SELECT * FROM student WHERE english IS NULL;
      26 
      27 -- 查詢英語成績不為null
      28 SELECT * FROM student WHERE english  IS NOT NULL;
      29 
      30 -- 查詢姓馬的有哪些
      31 SELECT * FROM student WHERE NAME LIKE '馬%';
      32 
      33 -- 查詢姓名第二個字是化的人
      34 SELECT * FROM student WHERE NAME LIKE "_化%";
      35 
      36 -- 查詢姓名是3個字的人
      37 SELECT * FROM student WHERE NAME LIKE '___';
      38 
      39 -- 查詢姓名中包含德的人
      40 SELECT * FROM student WHERE NAME LIKE%%’;

      3、排序查詢

      order by 排序字段1 排序方式1 , 排序字段2 排序方式2...

      其中,排序方式:

      • ASC:升序(默認排序方式)
      • DESC:降序

      注意:如果有多個排序條件,則當前邊的條件值一樣時,才會判斷第二條件

      4、聚合函數

      指的是將一列數據作為一個整體,進行縱向的計算

      • count:計算個數 

          一般選擇非空的列:主鍵

          count(*)

      • max:計算最大值
      • min:計算最小值
      • sum:計算和
      • avg:計算平均值

      注意:聚合函數的計算,要排除 null 值

      • 解決方案:1. 選擇不包含非空的列進行計算  2. IFNULL 函數

      5、分組查詢

      group by 分組字段;

      (1)where 和 having 的區別

      • where 在分組之前進行限定,如果不滿足條件,則不參與分組;having 在分組之后進行限定,如果不滿足結果,則不會被查詢出來
      • where 后不可以跟聚合函數,having可以進行聚合函數的判斷

      (2)舉例

      -- 按照性別分組,分別查詢男、女同學的數學平均分
      SELECT sex , AVG(math) FROM student GROUP BY sex;
      
      -- 按照性別分組,分別查詢男、女同學的數學平均分、人數
      SELECT sex , AVG(math) , COUNT(id) FROM student GROUP BY sex;
      
      -- 按照性別分組,分別查詢男、女同學的數學平均分、人數 
      -- 要求:分數低于70分的人,不參與分組
      SELECT sex , AVG(math) , COUNT(id) FROM student WHERE math > 70 GROUP BY sex;
      
      -- 按照性別分組,分別查詢男、女同學的數學平均分、人數 
      -- 要求:分數低于70分的人,不參與分組;分組之后,人數要大于2個人
      SELECT sex , AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex HAVING COUNT(id) > 2;
      SELECT sex , AVG(math),COUNT(id) 人數 FROM student WHERE math > 70 GROUP BY sex HAVING 人數 > 2;

      6、分頁查詢

      limit 開始的索引,每頁查詢的條數;

      開始的索引 = (當前的頁碼 - 1) * 每頁顯示的條數

      注意:limit 是 MySQL 數據庫獨有的 SQL 語句

      舉例:

      -- 每頁顯示3條記錄
      SELECT * FROM student LIMIT 0,3; -- 第1頁
      SELECT * FROM student LIMIT 3,3; -- 第2頁
      SELECT * FROM student LIMIT 6,3; -- 第3頁 

       

      Posted on 2022-03-14 14:14  choco莉特  閱讀(30)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 美欧日韩一区二区三区视频 | 国产精品一区中文字幕| 亚洲av午夜成人片| 欧美白妞大战非洲大炮| 精品一区二区三区不卡| 亚洲春色在线视频| 巨胸不知火舞露双奶头无遮挡| 欧洲精品色在线观看| 免费的特黄特色大片| 国产一区二区不卡91| 延川县| 亚洲乱码中文字幕综合| 国产精品中文字幕久久| 男女啪啪高潮激烈免费版| 国内在线视频一区二区三区| 亚洲精品一区三区三区在| 无套内谢少妇毛片aaaa片免费| 四虎国产精品免费久久| 国产成人亚洲日韩欧美| 性色在线视频精品| 天天躁夜夜躁狠狠喷水| 日韩在线视频观看免费网站| 边添小泬边狠狠躁视频| 野外做受又硬又粗又大视频√| 性色av不卡一区二区三区| 怡红院一区二区三区在线| 精品无码国产日韩制服丝袜| 成人嫩草研究院久久久精品| 伊人久久精品无码麻豆一区 | 亚洲av无码精品蜜桃| 欧美白妞大战非洲大炮| 亚洲成人动漫av在线| 成人国产av精品免费网| 国产精品污双胞胎在线观看| 亚洲无人区一码二码三码| 欧洲中文字幕一区二区| 沙湾县| 亚洲av综合色区在线观看| 亚洲欧美日韩成人综合一区| 国产亚洲精品视频一二区| 日韩精品 在线 国产 丝袜|