MySQL的單表查詢

2.2 什么是數(shù)據(jù)庫軟件

數(shù)據(jù)庫橄杨,俗稱數(shù)據(jù)的倉庫秘症。方便管理數(shù)據(jù)的軟件(或程序)。

2.4 MySQL入門

1)到mysql官網(wǎng)下載式矫。

2)安裝mysql軟件

3)使用登錄驗證是否成功

SQL語言:和數(shù)據(jù)庫交互的語言乡摹,進行數(shù)據(jù)庫管理的語言。(Structure Query Lanuage采转,結(jié)構(gòu)化查詢語言)

mysql -u root -p? 回車? -> 輸入密碼(登錄root賬戶的mysql服務(wù)器)

show databases;(查看所有的數(shù)據(jù)庫

information_schema |? ? -- mysql元數(shù)據(jù)聪廉,基礎(chǔ)數(shù)據(jù)

| mysql? ? ? ? ? ? ? |? ? —mysql配置 數(shù)據(jù)庫,其中包含用戶信息故慈。(用戶名和密碼板熊,權(quán)限管理)

| performance_schema |? ? --mysql數(shù)據(jù)庫軟件的運行數(shù)據(jù),日志信息察绷,性能數(shù)據(jù)

| test? ? ? ? ? ? ? |? ? --測試數(shù)據(jù)庫干签。空的

create database day15? ? ? -- 指定默認字符集創(chuàng)建數(shù)據(jù)庫

-> default character set?

-> ;(create 數(shù)據(jù)庫完畢不加分號拆撼,回車加指定字符集)


show create database day15; 查看數(shù)據(jù)庫的默認字符集

drop database day15;刪除數(shù)據(jù)庫

alter database day15 default character set gbk;修改數(shù)據(jù)庫

use ?數(shù)據(jù)庫名

show tables;查看所有表

create table student( 創(chuàng)建表

-> sid int,

-> sname varchar(20),

-> sage int

-> );

desc student;查看表結(jié)構(gòu)

drop table student;刪除表

修改表

alter table student add column sgender varchar(2);添加字段

alter table student drop column sgender; 刪除字段

alter table student modify column remark varchar(100);修改字段類型

alter table student change column sgender gender varchar(2);修改字段名稱

alter table student rename to teacher;修改表名稱

增刪改數(shù)據(jù)庫

-- 注意不能少或多字段值

-- INSERT INTO student VALUES(2,'李四','女');

-- 插入部分字段

INSERT INTO student(id,NAME) VALUES(2,'李四');

1.2 修改數(shù)據(jù)

-- 修改所有數(shù)據(jù)(建議少用)

UPDATE student SET gender='女';

-- 帶條件的修改(推薦使用)

UPDATE student SET gender='男' WHERE id=1; -- 修改id為1的學(xué)生容劳,修改性別為男

-- 修改多個字段,注意: SET 字段名=值,字段名=值,....

UPDATE student SET gender='男',age=30 WHERE id=2;

-- 1.3 刪除數(shù)據(jù)

-- 刪除所有數(shù)據(jù)(建議少用)

DELETE FROM student;

-- 帶條件的刪除(推薦使用)

DELETE FROM student WHERE id=2;

--? 另一種方式

-- delete from: 可以全表刪除? ? ? 1)可以帶條件刪除? 2)只能刪除表的數(shù)據(jù),不能刪除表的約束? ? 3)使用delete from刪除的數(shù)據(jù)可以回滾(事務(wù))

-- truncate table: 可以全表刪除? 1)不能帶條件刪除 2)即可以刪除表的數(shù)據(jù)闸度,也可以刪除表的約束 3)使用truncate table刪除的數(shù)據(jù)不能回滾(SQL數(shù)據(jù)庫優(yōu)化可以用它來)

TRUNCATE TABLE student;

查詢數(shù)據(jù)庫

select ID竭贩,name,gender from student莺禁;查詢指定列

select id AS ‘編號’留量,name AS ‘姓名’ from student AS s; 指定列的別名(指定后可以用別名訪問也可以用原名稱訪問)指定表別名睁宰,不能用單引號肪获,不能用漢字寝凌,在多表查詢是經(jīng)常食用表的別名柒傻。

2.4 查詢時添加常量列

-- 需求: 在查詢student表時添加一個班級列,內(nèi)容為“java就業(yè)班”

SELECT id,NAME,gender,age,'java就業(yè)班' AS '年級'? FROM student;

2.5 查詢時合并列

-- 需求: 查詢每個學(xué)生的servlet和jsp的總成績

SELECT id,NAME,(servlet+jsp) AS '總成績' FROM student;

-- 注意:合并列只能合并數(shù)值類型的字段

SELECT id,(NAME+servlet) FROM student;

- 2.6 查詢時去除重復(fù)記錄( distinct)?

-- 需求: 查詢學(xué)生的性別? ? 男 女

SELECT DISTINCT gender FROM student;()(distinct做關(guān)鍵字來用)

-- 另一種語法

SELECT DISTINCT(gender) FROM student;(distinct做函數(shù)來用)

-- 需求: 查詢學(xué)生所在的地區(qū)

SELECT DISTINCT address FROM student;()

條件查詢(where)

-- 2.7.1 邏輯條件: and(與)? ? or(或)

-- 需求: 查詢id為2较木,且姓名為李四的學(xué)生

SELECT * FROM student WHERE id=2 AND NAME='李四'; -- 交集

-- 需求: 查詢id為2红符,或姓名為張三的學(xué)生

SELECT * FROM student WHERE id=2 OR NAME='張三'; -- 并集

-- 2.7.2 比較條件: >? <? >=? <=? =? <>(不等于)? ? between and (等價于>= 且 <=)

-- 需求: 查詢servlet成績大于70分的學(xué)生

SELECT * FROM student WHERE servlet>70;

-- 需求: 查詢jsp成績大于等于75,且小于等于90分的學(xué)生

SELECT * FROM student WHERE jsp>=75 AND jsp<=90;

-- 另一個語法

SELECT * FROM student WHERE jsp BETWEEN 75 AND 90; -- (包前包后)

SELECT * FROM student WHERE gender<>'男';

2.7.3 判空條件(null 空字符串):? is null / is not null / =''? / <>''

-- 需求: 查詢地址為空的學(xué)生(包括null和空字符串)

-- null vs? 空字符串

-- null:表示沒有值

-- 空字符串:有值的!

-- 判斷null

SELECT * FROM student WHERE address IS NULL ;

-- 判斷空字符串

SELECT * FROM student WHERE address='';

SELECT * FROM student WHERE address IS NULL OR address=''; -- (包括null和空字符串)

-- 需求: 查詢有地址的學(xué)生(不包括null和空字符串)

SELECT * FROM student WHERE address IS NOT NULL AND address<>'';

-- 2.7.4 模糊條件: like

-- 通常使用以下替換標記:

-- % : 表示任意個字符

-- _ : 表示一個字符

-- 需求: 查詢姓‘張’的學(xué)生

SELECT * FROM student WHERE NAME LIKE '李%';

-- 需求: 查詢姓‘李’预侯,且姓名只有兩個字的學(xué)生

SELECT * FROM student WHERE NAME LIKE '李_';

-- 2.8 聚合查詢(使用聚合函數(shù)的查詢)

-- 常用的聚合函數(shù): sum()? avg()? max()? min()? count()

-- 需求:查詢學(xué)生的servlet的總成績 (sum() :求和函數(shù))

SELECT SUM(servlet) AS 'servlet的總成績' FROM student;

-- 需求: 查詢學(xué)生的servlet的平均分

SELECT AVG(servlet) AS 'servlet的平均分' FROM student;

-- 需求: 查詢當(dāng)前servlet最高分

SELECT MAX(servlet) AS '最高分' FROM student;

-- 需求: 查詢最低分

SELECT MIN(servlet) AS '最低分' FROM student;

-- 需求: 統(tǒng)計當(dāng)前有多少學(xué)生(count(字段))

SELECT COUNT(*) FROM student;

SELECT COUNT(id) FROM student;

-- 注意:count()函數(shù)統(tǒng)計的數(shù)量不包含null的數(shù)據(jù)

-- 使用count統(tǒng)計表的記錄數(shù)致开,要使用不包含null值的字段

SELECT COUNT(age) FROM student;

2.9 分頁查詢(limit 起始行,查詢幾行)

-- 起始行從0開始

-- 分頁:當(dāng)前頁? 每頁顯示多少條

-- 分頁查詢當(dāng)前頁的數(shù)據(jù)的sql: SELECT * FROM student LIMIT (當(dāng)前頁-1)*每頁顯示多少條,每頁顯示多少條;

-- 需求: 查詢第1,2條記錄(第1頁的數(shù)據(jù))

SELECT * FROM student LIMIT 0,2;

-- 查詢第3,4條記錄(第2頁的數(shù)據(jù))

SELECT * FROM student LIMIT 2,2;

-- 查詢第5,6條記錄(第3頁的數(shù)據(jù))

SELECT * FROM student LIMIT 4,2;

-- 查詢第7,8條記錄 (沒有記錄不顯示)

SELECT * FROM student LIMIT 6,2;

- 2.10 查詢排序(order by )

-- 語法 :order by 字段 asc/desc

-- asc: 順序,正序萎馅。數(shù)值:遞增双戳,字母:自然順序(a-z)

-- desc: 倒序,反序糜芳。數(shù)值:遞減飒货,字母:自然反序(z-a)

-- 默認情況下,按照插入記錄順序排序

SELECT * FROM student;

-- 需求: 按照id順序排序

SELECT * FROM student ORDER BY id ASC;

SELECT * FROM student ORDER BY id; -- 默認正序

SELECT * FROM student ORDER BY id DESC;-- 反序

-- 注意:多個排序條件

-- 需求: 按照servlet正序峭竣,按照jsp的倒序

SELECT * FROM student ORDER BY servlet ASC,jsp DESC;

2.11 分組查詢(group by)

-- 需求: 查詢男女的人數(shù)

-- 預(yù)期結(jié)果:

--? 男? 3

--- 女? 2

-- 1) 把學(xué)生按照性別分組(GROUP BY gender)

-- 2) 統(tǒng)計每組的人數(shù)(COUNT(*))

SELECT gender,COUNT(*) FROM student GROUP BY gender;

2.12 分組查詢后篩選

-- 需求: 查詢總?cè)藬?shù)大于2的性別

-- 1) 查詢男女的人數(shù)

-- 2)篩選出人數(shù)大于2的記錄(having)

--- 注意: 分組之前條件使用where關(guān)鍵字塘辅,分組之后條件使用having關(guān)鍵字

SELECT gender,COUNT(*) FROM student WHERE GROUP BY gender HAVING COUNT(*)>2;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市皆撩,隨后出現(xiàn)的幾起案子扣墩,更是在濱河造成了極大的恐慌,老刑警劉巖扛吞,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呻惕,死亡現(xiàn)場離奇詭異,居然都是意外死亡喻粹,警方通過查閱死者的電腦和手機蟆融,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來守呜,“玉大人型酥,你說我怎么就攤上這事〔槠梗” “怎么了弥喉?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長玛迄。 經(jīng)常有香客問我由境,道長,這世上最難降的妖魔是什么蓖议? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任虏杰,我火速辦了婚禮,結(jié)果婚禮上勒虾,老公的妹妹穿的比我還像新娘纺阔。我一直安慰自己,他們只是感情好修然,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布笛钝。 她就那樣靜靜地躺著质况,像睡著了一般。 火紅的嫁衣襯著肌膚如雪玻靡。 梳的紋絲不亂的頭發(fā)上结榄,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音囤捻,去河邊找鬼臼朗。 笑死,一個胖子當(dāng)著我的面吹牛蝎土,可吹牛的內(nèi)容都是我干的依溯。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼瘟则,長吁一口氣:“原來是場噩夢啊……” “哼黎炉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起醋拧,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤慷嗜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后丹壕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體庆械,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年菌赖,在試婚紗的時候發(fā)現(xiàn)自己被綠了缭乘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡琉用,死狀恐怖堕绩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情邑时,我是刑警寧澤奴紧,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站晶丘,受9級特大地震影響黍氮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜浅浮,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一沫浆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧滚秩,春花似錦专执、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至已艰,卻和暖如春痊末,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背哩掺。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工凿叠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嚼吞。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓盒件,卻偏偏與公主長得像,于是被迫代替她去往敵國和親舱禽。 傳聞我的和親對象是個殘疾皇子炒刁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法誊稚,內(nèi)部類的語法翔始,繼承相關(guān)的語法,異常的語法里伯,線程的語...
    子非魚_t_閱讀 31,581評論 18 399
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,790評論 0 11
  • 轉(zhuǎn)自:http://www.lai18.com/content/7451585.html 基本操作 查看數(shù)據(jù)庫 指...
    光光李閱讀 918評論 0 5
  • 理論知識 修改數(shù)據(jù)表 1.修改表名 格式:Alter table 舊表名 rename [to] 新表名城瞎; 如下:...
    lufaqiang閱讀 1,430評論 0 0
  • 作為女性狼电,我并不認為這三個問題是什么大問題蜒灰。 當(dāng)代中國有些女性已經(jīng)進入到了沒有恐懼的年代,腦子中最大的就是自己肩碟。老...
    影子倒了閱讀 467評論 15 17