国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

1.MySQL數(shù)據(jù)庫 2.SQL語句

dunizb / 2227人閱讀

摘要:公司的數(shù)據(jù)庫產(chǎn)品收費的。常應(yīng)用在銀行系統(tǒng)中公司收費的中型的數(shù)據(jù)庫。嵌入式的小型數(shù)據(jù)庫,應(yīng)用在手機端。關(guān)鍵字,,等數(shù)據(jù)控制語言簡稱,用來定義數(shù)據(jù)庫的訪問權(quán)限和安全級別,及創(chuàng)建用戶。數(shù)據(jù)查詢語言簡稱,用來查詢數(shù)據(jù)庫中表的記錄。

01數(shù)據(jù)庫概念

</>復(fù)制代碼

  1. * A: 什么是數(shù)據(jù)庫
  2. 數(shù)據(jù)庫就是存儲數(shù)據(jù)的倉庫,其本質(zhì)是一個文件系統(tǒng),數(shù)據(jù)按照特定的格式將數(shù)據(jù)存儲起來,用戶可以對數(shù)據(jù)庫中的數(shù)據(jù)進行增加,修改,刪除及查詢操作。
  3. * B: 什么是數(shù)據(jù)庫管理系統(tǒng)
  4. 數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System,DBMS):指一種操作和管理數(shù)據(jù)庫的大型軟件,用于建立、使用和維護數(shù)據(jù)庫,
  5. 對數(shù)據(jù)庫進行統(tǒng)一管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。用戶通過數(shù)據(jù)庫管理系統(tǒng)訪問數(shù)據(jù)庫中表內(nèi)的數(shù)據(jù)。
02常見的數(shù)據(jù)庫

</>復(fù)制代碼

  1. * A: 常見的數(shù)據(jù)庫
  2. MYSQL :開源免費的數(shù)據(jù)庫,小型的數(shù)據(jù)庫.已經(jīng)被Oracle收購了.MySQL6.x版本也開始收費。
  3. Oracle :收費的大型數(shù)據(jù)庫,Oracle公司的產(chǎn)品。Oracle收購SUN公司,收購MYSQL。
  4. DB2 :IBM公司的數(shù)據(jù)庫產(chǎn)品,收費的。常應(yīng)用在銀行系統(tǒng)中.
  5. SQLServer:MicroSoft 公司收費的中型的數(shù)據(jù)庫。C#、.net等語言常使用。
  6. SyBase :已經(jīng)淡出歷史舞臺。提供了一個非常專業(yè)數(shù)據(jù)建模的工具PowerDesigner。
  7. SQLite : 嵌入式的小型數(shù)據(jù)庫,應(yīng)用在手機端。
  8. Java相關(guān)的數(shù)據(jù)庫:MYSQL,Oracle.
  9. 這里使用MySQL數(shù)據(jù)庫。MySQL中可以有多個數(shù)據(jù)庫,數(shù)據(jù)庫是真正存儲數(shù)據(jù)的地方
03數(shù)據(jù)庫和管理系統(tǒng)

</>復(fù)制代碼

  1. * A: 數(shù)據(jù)庫管理系統(tǒng)
  2. ----數(shù)據(jù)庫1
  3. ----數(shù)據(jù)表1a
  4. ----數(shù)據(jù)表1b
  5. ----數(shù)據(jù)庫2
  6. -----數(shù)據(jù)表2a
  7. -----數(shù)據(jù)表2b
04數(shù)據(jù)表和Java中類的對應(yīng)關(guān)系

</>復(fù)制代碼

  1. * A:數(shù)據(jù)庫中以表為組織單位存儲數(shù)據(jù)。
  2. 表類似我們的Java類,每個字段都有對應(yīng)的數(shù)據(jù)類型。
  3. 那么用我們熟悉的java程序來與關(guān)系型數(shù)據(jù)對比,就會發(fā)現(xiàn)以下對應(yīng)關(guān)系。
  4. ----------表
  5. 類中屬性----------表中字段
  6. 對象----------記錄
05數(shù)據(jù)表和Java中類的對應(yīng)關(guān)系用戶表舉例

</>復(fù)制代碼

  1. * A:舉例:
  2. 賬務(wù)表
  3. id name age
  4. 1 lisi 23
  5. 2 wang 24
  6. 每一條記錄對應(yīng)一個User的對象
  7. [user1 id = 1 name = lisi age = 23]
  8. [user2 id = 2 name = wang age = 24]
06MySQL數(shù)據(jù)庫安裝

</>復(fù)制代碼

  1. A: 安裝步驟參見 day28_source《MySQL安裝圖解.doc》
  2. B: 安裝后,MySQL會以windows服務(wù)的方式為我們提供數(shù)據(jù)存儲功能。開啟和關(guān)閉服務(wù)的操作:右鍵點擊我的電腦→管理→服務(wù)→可以找到MySQL服務(wù)開啟或停止。
07數(shù)據(jù)庫在系統(tǒng)服務(wù)

</>復(fù)制代碼

  1. * A:開啟服務(wù)和關(guān)閉服務(wù)
  2. 方式1: 我的電腦-----> (右鍵)管理---->服務(wù)和應(yīng)用程序---->服務(wù)----找到MySQL服務(wù)右鍵啟動或關(guān)閉
  3. 方式2: 進入dos窗口 使用命令: net start mysql 開啟MySQL服務(wù); 命令:net stop mysql 關(guān)閉MySql服務(wù)
08MySQL的登錄

</>復(fù)制代碼

  1. * A: MySQL是一個需要賬戶名密碼登錄的數(shù)據(jù)庫,登陸后使用,它提供了一個默認(rèn)的root賬號,使用安裝時設(shè)置的密碼即可登錄。
  2. 格式1:cmd> mysql –u用戶名 –p密碼
  3. 例如:mysql -uroot –proot
  4. 格式2:cmd> mysql --host=ip地址 --user=用戶名 --password=密碼
  5. 例如:mysql --host=127.0.0.1 --user=root --password=root
09SQLYog軟件介紹

</>復(fù)制代碼

  1. * A: 具體參見 《SQLYog配置.doc》

=======================================第二節(jié)課開始====================================

10SQL語句介紹和分類

</>復(fù)制代碼

  1. * A:SQL介紹
  2. * 前面學(xué)習(xí)了接口的代碼體現(xiàn),現(xiàn)在來學(xué)習(xí)接口的思想,接下里從生活中的例子進行說明。
  3. * 舉例:我們都知道電腦上留有很多個插口,而這些插口可以插入相應(yīng)的設(shè)備,這些設(shè)備為什么能插在上面呢?
  4. * 主要原因是這些設(shè)備在生產(chǎn)的時候符合了這個插口的使用規(guī)則,否則將無法插入接口中,更無法使用。發(fā)現(xiàn)這個插口的出現(xiàn)讓我們使用更多的設(shè)備。
  5. * B: SQL分類
  6. * 數(shù)據(jù)定義語言:簡稱DDL(Data Definition Language),用來定義數(shù)據(jù)庫對象:數(shù)據(jù)庫,表,列等。關(guān)鍵字:create,alter,drop等
  7. * 數(shù)據(jù)操作語言:簡稱DML(Data Manipulation Language),用來對數(shù)據(jù)庫中表的記錄進行更新。關(guān)鍵字:insert,delete,update等
  8. * 數(shù)據(jù)控制語言:簡稱DCL(Data Control Language),用來定義數(shù)據(jù)庫的訪問權(quán)限和安全級別,及創(chuàng)建用戶。
  9. * 數(shù)據(jù)查詢語言:簡稱DQL(Data Query Language),用來查詢數(shù)據(jù)庫中表的記錄。關(guān)鍵字:selectfromwhere
  10. * C: SQL通用語法
  11. SQL語句可以單行或多行書寫,以分號結(jié)尾
  12. 可使用空格和縮進來增強語句的可讀性
  13. MySQL數(shù)據(jù)庫的SQL語句不區(qū)分大小寫,建議使用大寫,例如:SELECT * FROM user
  14. 同樣可以使用/**/的方式完成注釋
11數(shù)據(jù)表中的數(shù)據(jù)類型

</>復(fù)制代碼

  1. * A:MySQL中的我們常使用的數(shù)據(jù)類型如下
  2. 詳細的數(shù)據(jù)類型如下(不建議詳細閱讀!)
  3. 分類 類型名稱 說明
  4. 整數(shù)類型 tinyInt 很小的整數(shù)
  5. smallint 小的整數(shù)
  6. mediumint 中等大小的整數(shù)
  7. int(integer) 普通大小的整數(shù)
  8. 小數(shù)類型 float 單精度浮點數(shù)
  9. double 雙精度浮點數(shù)
  10. decimal(m,d) 壓縮嚴(yán)格的定點數(shù)
  11. 日期類型 year YYYY 1901~2155
  12. time HH:MM:SS -838:59:59~838:59:59
  13. date YYYY-MM-DD 1000-01-01~9999-12-3
  14. datetime YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59
  15. timestamp YYYY-MM-DD HH:MM:SS 1970~01~01 00:00:01 UTC~2038-01-19 03:14:07UTC
  16. 文本、二進制類型 CHAR(M) M為0~255之間的整數(shù)
  17. VARCHAR(M) M為0~65535之間的整數(shù)
  18. TINYBLOB 允許長度0~255字節(jié)
  19. BLOB 允許長度0~65535字節(jié)
  20. MEDIUMBLOB 允許長度0~167772150字節(jié)
  21. LONGBLOB 允許長度0~4294967295字節(jié)
  22. TINYTEXT 允許長度0~255字節(jié)
  23. TEXT 允許長度0~65535字節(jié)
  24. MEDIUMTEXT 允許長度0~167772150字節(jié)
  25. LONGTEXT 允許長度0~4294967295字節(jié)
  26. VARBINARY(M)允許長度0~M個字節(jié)的變長字節(jié)字符串
  27. BINARY(M) 允許長度0~M個字節(jié)的定長字節(jié)字符串
12創(chuàng)建數(shù)據(jù)庫操作

</>復(fù)制代碼

  1. * A: 創(chuàng)建數(shù)據(jù)庫
  2. 格式:
  3. * create database 數(shù)據(jù)庫名;
  4. * create database 數(shù)據(jù)庫名 character set 字符集;
  5. 例如:
  6. #創(chuàng)建數(shù)據(jù)庫 數(shù)據(jù)庫中數(shù)據(jù)的編碼采用的是安裝數(shù)據(jù)庫時指定的默認(rèn)編碼 utf8
  7. CREATE DATABASE day21_1;
  8. #創(chuàng)建數(shù)據(jù)庫 并指定數(shù)據(jù)庫中數(shù)據(jù)的編碼
  9. CREATE DATABASE day21_2 CHARACTER SET utf8;
  10. * B: 查看數(shù)據(jù)庫
  11. 查看數(shù)據(jù)庫MySQL服務(wù)器中的所有的數(shù)據(jù)庫:
  12. show databases;
  13. 查看某個數(shù)據(jù)庫的定義的信息:
  14. show create database 數(shù)據(jù)庫名;
  15. 例如:
  16. show create database day21_1;
  17. * C: 刪除數(shù)據(jù)庫
  18. drop database 數(shù)據(jù)庫名稱;
  19. 例如:
  20. drop database day21_2;
  21. * D: 其他的數(shù)據(jù)庫操作命令
  22. 切換數(shù)據(jù)庫:
  23. use 數(shù)據(jù)庫名;
  24. 例如:
  25. use day21_1;
  26. * E: 查看正在使用的數(shù)據(jù)庫:
  27. select database();
13創(chuàng)建數(shù)據(jù)表格式

</>復(fù)制代碼

  1. * A:格式:
  2. create table 表名(
  3. 字段名 類型(長度) 約束,
  4. 字段名 類型(長度) 約束
  5. );
  6. 例如:
  7. ###創(chuàng)建分類表
  8. CREATE TABLE sort (
  9. sid INT, #分類ID
  10. sname VARCHAR(100) #分類名稱
  11. );
14約束

</>復(fù)制代碼

  1. * A: 約束的作用:
  2. create table 表名(
  3. 列名 類型(長度) 約束,
  4. 列名 類型(長度) 約束
  5. );
  6. 限制每一列能寫什么數(shù)據(jù),不能寫什么數(shù)據(jù)。
  7. * B: 哪些約束:
  8. 主鍵約束
  9. 非空約束
  10. 唯一約束
  11. 外鍵約束
15SQL代碼的保存

</>復(fù)制代碼

  1. * A: 當(dāng)sql語句執(zhí)行了,就已經(jīng)對數(shù)據(jù)庫進行操作了,一般不用保存操作
  2. 在SQLyog 中Ctrl + S 保存的是寫sql語句。
16創(chuàng)建用戶表

</>復(fù)制代碼

  1. * A: 創(chuàng)建用戶表:
  2. 需求:創(chuàng)建用戶表,用戶編號,姓名,用戶的地址
  3. * B: SQL語句
  4. CREAT TABLE users (
  5. uid INT,
  6. uname VARCHAR(20),
  7. uaddress VARCHAR(200)
  8. );
17主鍵約束

</>復(fù)制代碼

  1. * A: 主鍵是用于標(biāo)識當(dāng)前記錄的字段。它的特點是非空,唯一。
  2. 在開發(fā)中一般情況下主鍵是不具備任何含義,只是用于標(biāo)識當(dāng)前記錄。
  3. * B: 格式:
  4. 1.在創(chuàng)建表時創(chuàng)建主鍵,在字段后面加上 primary key.
  5. create table tablename(
  6. id int primary key,
  7. .......
  8. )
  9. 2. 在創(chuàng)建表時創(chuàng)建主鍵,在表創(chuàng)建的最后來指定主鍵
  10. create table tablename(
  11. id int
  12. .......,
  13. primary key(id)
  14. )
  15. 3.刪除主鍵:alter table 表名 drop primary key;
  16. alter table sort drop primary key;
  17. 4.主鍵自動增長:一般主鍵是自增長的字段,不需要指定。
  18. 實現(xiàn)添加自增長語句,主鍵字段后加auto_increment(只適用MySQL)
18常見表的操作

</>復(fù)制代碼

  1. * A: 查看數(shù)據(jù)庫中的所有表:
  2. 格式:show tables;
  3. ? 查看表結(jié)構(gòu):
  4. 格式:desc 表名;
  5. 例如:desc sort;
  6. * B: 格式:drop table 表名;
  7. 例如:drop table sort;
19修改表結(jié)構(gòu)

</>復(fù)制代碼

  1. * A: 修改表添加列
  2. alter table 表名 add 列名 類型(長度) 約束;
  3. 例如:
  4. #1,為分類表添加一個新的字段為 分類描述 varchar(20)
  5. ALTER TABLE sort ADD sdesc VARCHAR(20);
  6. * B: 修改表修改列的類型長度及約束
  7. alter table 表名 modify 列名 類型(長度) 約束;
  8. 例如:
  9. #2, 為分類表的分類名稱字段進行修改,類型varchar(50) 添加約束 not null
  10. ALTER TABLE sort MODIFY sname VARCHAR(50) NOT NULL;
  11. * C: 修改表修改列名
  12. alter table 表名 change 舊列名 新列名 類型(長度) 約束;
  13. 例如:
  14. #3, 為分類表的分類名稱字段進行更換 更換為 snamesname varchar(30)
  15. ALTER TABLE sort CHANGE sname snamename VARCHAR(30);
  16. * D: 修改表刪除列
  17. alter table 表名 drop 列名;
  18. 例如:
  19. #4, 刪除分類表中snamename這列
  20. ALTER TABLE sort DROP snamename;
  21. * E: 修改表名
  22. rename table 表名 to 新表名;
  23. 例如:
  24. #5, 為分類表sort 改名成 category
  25. RENAME TABLE sort TO category;
  26. * F: 修改表的字符集
  27. salter table 表名 character set 字符集;
  28. 例如:
  29. #6, 為分類表 category 的編碼表進行修改,修改成 gbk
  30. ALTER TABLE category CHARACTER SET gbk;

=============================第三節(jié)課開始====================================

20數(shù)據(jù)表添加數(shù)據(jù)_1

</>復(fù)制代碼

  1. * A: 語法:
  2. insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..); -- 向表中插入某些列
  3. * 舉例:
  4. INSERT INTO product (id,pname,price) VALUES (1,"筆記本",5555.99);
  5. INSERT INTO product (id,pname,price) VALUES (2,"智能手機",9999);
  6. * 注意:
  7. 列表,表名問題
  8. 對應(yīng)問題,個數(shù),數(shù)據(jù)類型
21數(shù)據(jù)表添加數(shù)據(jù)_2

</>復(fù)制代碼

  1. * A: 添加數(shù)據(jù)格式,不考慮主鍵
  2. insert into 表名 (列名) values (值)
  3. * 舉例:
  4. INSERT INTO product (pname,price) VALUE("洗衣機",800);
  5. * B: 添加數(shù)據(jù)格式,所有值全給出
  6. 格式
  7. insert into 表名 values (值1,值2,值3..); --向表中插入所有列
  8. INSERT INOT product VALUES (4,"微波爐",300.25)
  9. * C: 添加數(shù)據(jù)格式,批量寫入
  10. 格式:
  11. insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3),(值1,值2,值3)
  12. 舉例:
  13. INSERT INTO product (pname,price) VALUES
  14. ("智能機器人",25999.22),
  15. ("彩色電視",1250.36),
  16. ("沙發(fā)",58899.02)
22更新數(shù)據(jù)

</>復(fù)制代碼

  1. * A: 用來修改指定條件的數(shù)據(jù),將滿足條件的記錄指定列修改為指定值
  2. 語法:
  3. update 表名 set 字段名=值,字段名=值;
  4. update 表名 set 字段名=值,字段名=值 where 條件;
  5. * B: 注意:
  6. 列名的類型與修改的值要一致.
  7. 修改值得時候不能超過最大長度.
  8. 值如果是字符串或者日期需要加’’.
  9. * C: 例如:
  10. #1,將指定的sname字段中的值 修改成 日用品
  11. UPDATE sort SET sname="日用品";
  12. #2, 將sid為s002的記錄中的sname改成 日用品
  13. UPDATE sort SET sname="日用品" WHERE sid="s002";
  14. UPDATE sort SET sname="日用品" WHERE sid="s003";
23刪除數(shù)據(jù)

</>復(fù)制代碼

  1. ?* A: 語法:
  2. delete from 表名 [where 條件];
  3. 或者
  4. truncate table 表名;
  5. * B: 面試題:
  6. 刪除表中所有記錄使用delete from 表名; 還是用truncate table 表名;
  7. 刪除方式:delete 一條一條刪除,不清空auto_increment記錄數(shù)。
  8. truncate 直接將表刪除,重新建表,auto_increment將置為零,從新開始。
  9. * C: 例如:
  10. DELETE FROM sort WHERE sname="日用品";
  11. #表數(shù)據(jù)清空
  12. DELETE FROM sort;
24命令行亂碼問題

</>復(fù)制代碼

  1. A: 問題
  2. 我們在dos命令行操作中文時,會報錯
  3. insert into user(username,password) values(‘張三’,’123’);
  4. ERROR 1366 (HY000): Incorrect string value: "xD5xC5xC8xFD" for column "username" at row 1
  5. B: 原因:因為mysql的客戶端編碼的問題我們的是utf8,而系統(tǒng)的cmd窗口編碼是gbk
  6. 解決方案(臨時解決方案):修改mysql客戶端編碼。
  7. show variables like "character%"; 查看所有mysql的編碼
  8. client connetion result 和客戶端相關(guān)
  9. database server system 和服務(wù)器端相關(guān)
  10. 將客戶端編碼修改為gbk.
  11. set character_set_results=gbk; / set names gbk;
  12. 以上操作,只針對當(dāng)前窗口有效果,如果關(guān)閉了服務(wù)器便失效。如果想要永久修改,通過以下方式:
  13. mysql安裝目錄下有my.ini文件
  14. default-character-set=gbk 客戶端編碼設(shè)置
  15. character-set-server=utf8 服務(wù)器端編碼設(shè)置
  16. 注意:修改完成配置文件,重啟服務(wù)
25數(shù)據(jù)表和測試數(shù)據(jù)準(zhǔn)備

</>復(fù)制代碼

  1. * A: 查詢語句,在開發(fā)中使用的次數(shù)最多,此處使用“zhangwu” 賬務(wù)表。
  2. 創(chuàng)建賬務(wù)表:
  3. CREATE TABLE zhangwu (
  4. id INT PRIMARY KEY AUTO_INCREMENT, -- 賬務(wù)ID
  5. name VARCHAR(200), -- 賬務(wù)名稱
  6. money DOUBLE, -- 金額
  7. );
  8. * B: 插入表記錄:
  9. INSERT INTO zhangwu(id,name,money) VALUES (1,"吃飯支出",247);
  10. INSERT INTO zhangwu(id,name,money) VALUES (2,"工資收入",12345);
  11. INSERT INTO zhangwu(id,name,money) VALUES (3,"服裝支出",1000);
  12. INSERT INTO zhangwu(id,name,money) VALUES (4,"吃飯支出",325);
  13. INSERT INTO zhangwu(id,name,money) VALUES (5,"股票收入",8000);
  14. INSERT INTO zhangwu(id,name,money) VALUES (6,"打麻將支出",8000);
  15. INSERT INTO zhangwu(id,name,money) VALUES (7,null,5000);
26數(shù)據(jù)的基本查詢

</>復(fù)制代碼

  1. * A: 查詢指定字段信息
  2. select 字段1,字段2,...from 表名;
  3. 例如:
  4. select id,name from zhangwu;
  5. * B: 查詢表中所有字段
  6. select * from 表名;
  7. 例如:
  8. select * from zhangwu;
  9. 注意:使用"*"在練習(xí)、學(xué)習(xí)過程中可以使用,在實際開發(fā)中,不推薦使用。原因,要查詢的字段信息不明確,若字段數(shù)量很多,會導(dǎo)致查詢速度很慢。
  10. * C: distinct用于去除重復(fù)記錄
  11. select distinct 字段 from 表名;
  12. 例如:
  13. select distinct money from zhangwu;
  14. * D: 別名查詢,使用的as關(guān)鍵字,as可以省略的.
  15. 別名可以給表中的字段,表設(shè)置別名。 當(dāng)查詢語句復(fù)雜時,使用別名可以極大的簡便操作。
  16. 表別名格式:
  17. select * from 表名 as 別名;
  18. select * from 表名 別名;
  19. 列別名格式:
  20. select 字段名 as 別名 from 表名;
  21. select 字段名 別名 from 表名;
  22. 例如
  23. 表別名:
  24. select * from zhangwu as zw;
  25. 列別名:
  26. select money as m from zhangwu;
  27. select money m from zhangwu;
  28. 我們在sql語句的操作中,可以直接對列進行運算。
  29. 例如:將所有賬務(wù)的金額+10000元進行顯示.
  30. select pname,price+10000 from product;

==============================第四節(jié)課開始====================================

27數(shù)據(jù)的條件查詢_1

</>復(fù)制代碼

  1. * A:條件查詢
  2. where語句表條件過濾。滿足條件操作,不滿足不操作,多用于數(shù)據(jù)的查詢與修改。
  3. * B : 格式 :
  4. select 字段 from 表名 where 條件;
  5. * C: while條件的種類如下:
  6. 比較運算符
  7. > < <= >= = <> ---------- 大于、小于、大于(小于)等于、不等于
  8. BETWEEN ...AND... ----------- 顯示在某一區(qū)間的值(含頭含尾)
  9. IN(set) -----------顯示在in列表中的值,例:in(100,200)
  10. LIKE 通配符 -----------模糊查詢,Like語句中有兩個通配符:
  11. % 用來匹配多個字符;例first_name like ‘a(chǎn)%’;
  12. _ 用來匹配一個字符。例first_name like ‘a(chǎn)_’;
  13. IS NULL 判斷是否為空
  14. ------------is null; 判斷為空
  15. is not null; 判斷不為空
  16. * D 邏輯運算符
  17. and ------------ 多個條件同時成立
  18. or ------------ 多個條件任一成立
  19. not ------------ 不成立,例:where not(salary>100);
  20. * E: 例如:
  21. 查詢所有吃飯支出記錄
  22. SELECT * FROM zhangwu WHERE name = "吃飯支出";
  23. 查詢出金額大于1000的信息
  24. SELECT * FROM zhangwu WHERE money >1000;
  25. 查詢出金額在2000-5000之間的賬務(wù)信息
  26. SELECT * FROM zhangwu WHERE money >=2000 AND money <=5000;
  27. SELECT * FROM zhangwu WHERE money BETWEEN 2000 AND 5000;
  28. 查詢出金額是1000或5000或3500的商品信息
  29. SELECT * FROM zhangwu WHERE money =1000 OR money =5000 OR money =3500;
  30. SELECT * FROM zhangwu WHERE money IN(1000,5000,3500);
28數(shù)據(jù)的條件查詢_2

</>復(fù)制代碼

  1. * A 模糊查詢
  2. 查詢出賬務(wù)名稱包含”支出”的賬務(wù)信息。
  3. SELECT * FROM zhangwu WHERE name LIKE "%支出%";
  4. * B 查詢出賬務(wù)名稱中是五個字的賬務(wù)信息
  5. SELECT * FROM gjp_ledger WHERE ldesc LIKE "_____"; -- 五個下劃線_
  6. * C 查詢出賬務(wù)名稱不為null賬務(wù)信息
  7. SELECT * FROM zhangwu WHERE name IS NOT NULL;
  8. SELECT * FROM zhangwu WHERE NOT (name IS NULL);
29排序查詢

</>復(fù)制代碼

  1. * A: 排序查詢
  2. 使用格式
  3. * 通過order by語句,可以將查詢出的結(jié)果進行排序。放置在select語句的最后。
  4. * SELECT * FROM 表名 ORDER BY 字段ASC;
  5. * ASC 升序 (默認(rèn))
  6. * DESC 降序
  7. * B: 案例代碼
  8. /*
  9. 查詢,對結(jié)果集進行排序
  10. 升序,降序,對指定列排序
  11. order by 列名 [desc][asc]
  12. desc 降序
  13. asc 升序排列,可以不寫
  14. */
  15. -- 查詢賬務(wù)表,價格進行升序
  16. SELECT * FROM zhangwu ORDER BY zmoney ASC
  17. -- 查詢賬務(wù)表,價格進行降序
  18. SELECT * FROM zhangwu ORDER BY zmoney DESC
  19. -- 查詢賬務(wù)表,查詢所有的支出,對金額降序排列
  20. -- 先過濾條件 where 查詢的結(jié)果再排序
  21. SELECT * FROM zhangwu WHERE zname LIKE"%支出%" ORDER BY zmoney DESC
30聚合函數(shù)

</>復(fù)制代碼

  1. * A: 聚合函數(shù)
  2. * B: 函數(shù)介紹
  3. * 之前我們做的查詢都是橫向查詢,它們都是根據(jù)條件一行一行的進行判斷,而使用聚合函數(shù)查詢是縱向查詢,
  4. 它是對一列的值進行計算,然后返回一個單一的值;另外聚合函數(shù)會忽略空值。
  5. * count:統(tǒng)計指定列不為NULL的記錄行數(shù);
  6. * sum:計算指定列的數(shù)值和,如果指定列;
  7. * max:計算指定列的最大值,如果指定列是字符串類型,那么使用字符串類型不是數(shù)值類型,那么計算結(jié)果為0排0序運算;
  8. * min:計算指定列的最小值,如果指定列是字符串類型,那么使用字符串排序運算;
  9. * avg:計算指定列的平均值,如果指定列類型不是數(shù)值類型,那么計算結(jié)果為0;
  10. * C: 案例代碼
  11. /*
  12. 使用聚合函數(shù)查詢計算
  13. */
  14. -- count 求和,對表中的數(shù)據(jù)的個數(shù)求和 count(列名)
  15. -- 查詢統(tǒng)計賬務(wù)表中,一共有多少條數(shù)據(jù)
  16. SELECT COUNT(*)AS"count" FROM zhangwu
  17. -- sum求和,對一列中數(shù)據(jù)進行求和計算 sum(列名)
  18. -- 對賬務(wù)表查詢,對所有的金額求和計算
  19. SELECT SUM(zmoney) FROM zhangwu
  20. -- 求和,統(tǒng)計所有支出的總金額
  21. SELECT SUM(zname) FROM zhangwu WHERE zname LIKE"%收入%"
  22. INSERT INTO zhangwu (zname) VALUES ("彩票收入")
  23. -- max 函數(shù),對某列數(shù)據(jù),獲取最大值
  24. SELECT MAX(zmoney) FROM zhangwu
  25. -- avg 函數(shù),計算一個列所有數(shù)據(jù)的平均數(shù)
  26. SELECT AVG(zmoney)FROM zhangwu
31分組查詢

</>復(fù)制代碼

  1. * A: 分組查詢
  2. * a: 使用格式
  3. * 分組查詢是指使用group by字句對查詢信息進行分組,例如:我們要統(tǒng)計出zhanguw表中所有分類賬務(wù)的總數(shù)量,這時就需要使用group by 來對zhangwu表中的賬務(wù)信息根據(jù)parent進行分組操作。
  4. * SELECT 字段1,字段2… FROM 表名 GROUP BY 字段 HAVING 條件;
  5. * 分組操作中的having子語句,是用于在分組后對數(shù)據(jù)進行過濾的,作用類似于where條件。
  6. * b: having與where的區(qū)別
  7. * having是在分組后對數(shù)據(jù)進行過濾.
  8. * where是在分組前對數(shù)據(jù)進行過濾
  9. * having后面可以使用分組函數(shù)(統(tǒng)計函數(shù))
  10. * where后面不可以使用分組函數(shù)。
  11. * B: 案例代碼
  12. /*
  13. 查詢所有的數(shù)據(jù)
  14. 吃飯支出 共計多少
  15. 工資收入 共計多少
  16. 服裝支出 共計多少
  17. 股票收入 共計多少
  18. 打麻將支出 共計多少錢
  19. 分組查詢: group by 被分組的列名
  20. 必須跟隨聚合函數(shù)
  21. select 查詢的時候,被分組的列,要出現(xiàn)在select 選擇列的后面
  22. */
  23. SELECT SUM(zmoney),zname FROM zhangwu GROUP BY zname
  24. -- 對zname內(nèi)容進行分組查詢求和,但是只要支出
  25. SELECT SUM(zmoney)AS "getsum",zname FROM zhangwu WHERE zname LIKE"%支出%"
  26. GROUP BY zname
  27. ORDER BY getsum DESC
  28. -- 對zname內(nèi)容進行分組查詢求和,但是只要支出, 顯示金額大于5000
  29. -- 結(jié)果集是分組查詢后,再次進行篩選,不能使用where, 分組后再次過濾,關(guān)鍵字 having
  30. SELECT SUM(zmoney)AS "getsum",zname FROM zhangwu WHERE zname LIKE"%支出%"
  31. GROUP BY zname HAVING getsum>5000
31總結(jié)

</>復(fù)制代碼

  1. * 把今天的知識點總結(jié)一遍。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/67183.html

相關(guān)文章

  • UCloud MySQL數(shù)據(jù)庫讀寫分離

    摘要:讀寫分離中間件具有獨立的。變量語句將被廣播考慮到節(jié)點間數(shù)據(jù)一致性問題,只會分發(fā)到主節(jié)點。節(jié)點健康檢查,提升數(shù)據(jù)庫系統(tǒng)可用性。UCloud MySQL云數(shù)據(jù)庫讀寫分離 背景 數(shù)據(jù)顯示,關(guān)系型數(shù)據(jù)庫在OLTP業(yè)務(wù)下96.87%都在等待讀I/O,而處理器計算僅僅占了5.3%,這說明要提高數(shù)據(jù)庫的QPS性能,關(guān)鍵的一點是提高系統(tǒng)的IO能力。 另一個數(shù)據(jù)表明, 大多數(shù)業(yè)務(wù)對數(shù)據(jù)庫的訪...

    joywek 評論0 收藏0
  • MySQL性能調(diào)優(yōu)與架構(gòu)設(shè)計(三)—— MySQL安全管理

    摘要:處在局域網(wǎng)之內(nèi)的,由于有局域網(wǎng)出入口的網(wǎng)絡(luò)設(shè)備的基本保護,相對于暴露在廣域網(wǎng)中要安全不少,主要威脅對象基本控制在了可以接入局域網(wǎng)的內(nèi)部潛在威脅者,和極少數(shù)能夠突破最外圍防線局域網(wǎng)出入口的安全設(shè)備的入侵者。 前言 對于任何一個企業(yè)來說,其數(shù)據(jù)庫系統(tǒng)中所保存數(shù)據(jù)的安全性無疑是非常重要的,尤其是公司的有些商業(yè)數(shù)據(jù),可能數(shù)據(jù)就是公司的根本。 失去了數(shù)據(jù),可能就失去了一切 本章將針對mysql...

    Eminjannn 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<