欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂Java開(kāi)發(fā)之MySQL數(shù)據(jù)庫(kù)基礎(chǔ)和SQL語(yǔ)言入門(mén)

2018-03-08 13:25:52 1475瀏覽

MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQLAB公司開(kāi)發(fā),目前屬于Oracle旗下產(chǎn)品。MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,在WEB應(yīng)用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件。



MySQL的安裝和配置

相關(guān)概念:

數(shù)據(jù)庫(kù):數(shù)據(jù)的倉(cāng)庫(kù),存儲(chǔ)數(shù)據(jù)的地方。

表:分類(lèi)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),實(shí)際保存數(shù)據(jù)的地方

列(字段):具體的一項(xiàng)信息,如:姓名、年齡

行(記錄):實(shí)際的實(shí)體信息

主鍵:能唯一地標(biāo)識(shí)一行記錄的列

Navicat圖形工具的使用:

NavicatforMySQL是常用的MySQL客戶端工具,可以從網(wǎng)上下載,免費(fèi)使用30天。

MySQL數(shù)據(jù)類(lèi)型:

數(shù)據(jù)類(lèi)型

所占字節(jié)

取值范圍

tinyint

1字節(jié)

-128~127

smallint

2字節(jié)

-32768~32767

mediumint

3字節(jié)

-8388608~8388607

int

4字節(jié)

范圍-2147483648~2147483647

bigint

8字節(jié)

+-9.22*10的18次方

float(m,d)

4字節(jié)

單精度浮點(diǎn)型,m總個(gè)數(shù),d小數(shù)位

double(m,d)

8字節(jié)

雙精度浮點(diǎn)型,m總個(gè)數(shù),d小數(shù)位

decimal(m,d)

decimal是存儲(chǔ)為字符串的浮點(diǎn)數(shù)

CHAR

0-255字節(jié)

定長(zhǎng)字符串

VARCHAR

0-255字節(jié)

變長(zhǎng)字符串

TINYBLOB

0-255字節(jié)

不超過(guò)255個(gè)字符的二進(jìn)制字符串

TINYTEXT

0-255字節(jié)

短文本字符串

BLOB

0-65535字節(jié)

二進(jìn)制形式的長(zhǎng)文本數(shù)據(jù)

TEXT

0-65535字節(jié)

長(zhǎng)文本數(shù)據(jù)

MEDIUMBLOB

0-16777215字節(jié)

二進(jìn)制形式的中等長(zhǎng)度文本數(shù)據(jù)

MEDIUMTEXT

0-16777215字節(jié)

中等長(zhǎng)度文本數(shù)據(jù)

LOGNGBLOB

0-4294967295字節(jié)

二進(jìn)制形式的極大文本數(shù)據(jù)

LONGTEXT

0-4294967295字節(jié)

極大文本數(shù)據(jù)

VARBINARY(M)

允許長(zhǎng)度0-M個(gè)字節(jié)的定長(zhǎng)字節(jié)符串

值的長(zhǎng)度+1個(gè)字節(jié)

BINARY(M)

M

允許長(zhǎng)度0-M個(gè)字節(jié)的定長(zhǎng)字節(jié)符串

SQL語(yǔ)言:

SQL全稱(chēng)是結(jié)構(gòu)化查詢(xún)語(yǔ)言(StructuredQueryLanguage)。使用SQL能進(jìn)行數(shù)據(jù)庫(kù)的增刪查改。學(xué)習(xí)數(shù)據(jù)庫(kù)的基本核心內(nèi)容就是SQL。

SQL分類(lèi)如下:

數(shù)據(jù)定義語(yǔ)言(DDL:DataDefinitionLanguage)

數(shù)據(jù)操作語(yǔ)言(DML:DataManipulationLanguage)

數(shù)據(jù)查詢(xún)語(yǔ)言(DQL:DataQueryLanguage)

數(shù)據(jù)控制語(yǔ)言(DCL:DataControlLanguage)

一、DDL

數(shù)據(jù)庫(kù)定義語(yǔ)言:

創(chuàng)建數(shù)據(jù)庫(kù)

createdatabase數(shù)據(jù)庫(kù)名;

使用數(shù)據(jù)庫(kù)

use數(shù)據(jù)庫(kù)名;

刪除數(shù)據(jù)庫(kù)

dropdatabase數(shù)據(jù)庫(kù)名;

dropdatabaseifexists數(shù)據(jù)庫(kù)名;

創(chuàng)建表

createtable表名(

列名數(shù)據(jù)類(lèi)型約束,

...

);

主鍵:primarykey

自動(dòng)增長(zhǎng):auto_increment

刪除表

droptable表名;

droptableifexists表名;

練習(xí):

創(chuàng)建my_db數(shù)據(jù)庫(kù)

在my_db中,創(chuàng)建學(xué)生表,包含編號(hào)(主鍵,自增)、姓名、年齡和地址

二、DML

數(shù)據(jù)新增

insertinto表名(列1,列2...)values(值1,值2...)

示例:

--插入一行記錄

insertintostudent(name,age,gender,address)

values('張三',20,'男','湖北武漢');

--插入多行記錄

insertintostudent(name,age,gender,address)

values

('李四',20,'男','湖北武漢'),

('李大四',22,'女','北京'),

('李小四',25,'女','北京'),

('李四四',27,'女','上海');

--將表中的數(shù)據(jù)插入到其它表

insertintostudent2(name,age,gender,address)

selectname,age,gender,addressfromstudent;

注意:

1、自動(dòng)增長(zhǎng)列不要添加數(shù)據(jù)

2、列的數(shù)量、類(lèi)型和順序要和值一致

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

update表名set列1=值1,列2=值2where條件

示例:

--更新李小四的地址為四川成都

updatestudentsetaddress='四川成都'

wherename='李小四';

--更新多列

updatestudentsetaddress='四川成都',age=18

wherename='李小四';

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

deletefrom表名where條件

示例:

--刪除id=2的學(xué)生

deletefromstudentwhereid=5;

練習(xí):

在學(xué)生表中添加5行記錄,

更新id為5的學(xué)生年齡為22

刪除id為3的學(xué)生

四、DQL

查詢(xún)所有數(shù)據(jù)

select*from表;

查詢(xún)指定字段的所有數(shù)據(jù)

select列1,列2from表;

where條件查詢(xún)

select*from表where條件

=、!=、in、notin、and、or

示例:

--查詢(xún)所有行所有列

select*fromstudent;

--查詢(xún)部分列

selectname,addressfromstudent;

--添加where條件查詢(xún)id為2的學(xué)生

select*fromstudentwhereid=2;

--查詢(xún)id不為2的

select*fromstudentwhereid!=2;

--查詢(xún)地址為湖北武漢以及四川成都的學(xué)生

select*fromstudentwhereaddress='湖北武漢'oraddress='四川成都';

--查詢(xún)年齡20歲以上的男的

select*fromstudentwhereage>=20andgender='男';

--查詢(xún)地址為湖北武漢以及四川成都的學(xué)生2

select*fromstudentwhereaddressin('湖北武漢','四川成都');

--查詢(xún)地址不是湖北武漢以及四川成都的學(xué)生

select*fromstudentwhereaddressnotin('湖北武漢','四川成都');

去掉重復(fù)數(shù)據(jù)

distinct關(guān)鍵字

selectdistinct列from表;

示例:

--查詢(xún)學(xué)生的地址,不重復(fù)

selectDISTINCTaddressfromstudent;

--給列設(shè)置別名

selectid編號(hào),name姓名,age年齡,gender性別,address地址fromstudent;

--查詢(xún)年齡在20到25之間的女生

select*fromstudentwhereage>=20andage<=25andgender='女';

select*fromstudentwhereagebetween20and25andgender='女';

--查詢(xún)北京或武漢的男生

select*fromstudentwhereaddressin('北京','湖北武漢')andgender='女';

排序查詢(xún)

select*from表orderby列desc\asc

示例:

--按年齡升序排序

select*fromstudentwheregender='男'orderbyageasc;

--降序

select*fromstudentorderbyagedesc;

分頁(yè)查詢(xún)

limitn;返回長(zhǎng)度為n的行

limitn,m;返回從n位置,長(zhǎng)度為m的行

select*fromtb_namelimit5;顯示結(jié)果的前5條記錄

select*fromtb_namelimit0,5;區(qū)段查詢(xún)

示例:

--按年齡升序排序

select*fromstudentwheregender='男'orderbyageasc;

--降序

select*fromstudentorderbyagedesc;

--通過(guò)limit限制行數(shù)前5行

select*fromstudentlimit5;

--通過(guò)limit分頁(yè)查詢(xún)第一頁(yè)第0行到第5行,第二頁(yè)第6行到第10行...

select*fromstudentLIMIT0,5;

select*fromstudentLIMIT5,5;

select*fromstudentLIMIT10,5;

練習(xí):

年齡最大的男學(xué)生

年齡最小的五個(gè)女學(xué)生

聚合函數(shù)

求和:sum

求平均值:avg

求最大值:max

求最小值:min

求數(shù)量:count

示例:

selectsum(col_name)fromtb_name;

分組查詢(xún)

groupby分組列

where在分組之前進(jìn)行條件篩選

having在分組之后進(jìn)行條件篩選

where-->groupby--->having

示例:

--使用聚合函數(shù)

selectsum(age)總年齡,avg(age)平均年齡,

max(age)最大年齡,min(age)最小年齡,count(*)學(xué)生數(shù)量fromstudent;

--求來(lái)之不同地方的學(xué)生人數(shù)

selectaddress籍貫,count(*)人數(shù)fromstudentgroupbyaddress;

--求男女學(xué)生的人數(shù)

selectgender性別,count(*)人數(shù),avg(age)平均年齡fromstudentgroupbygender;

--求人數(shù)超過(guò)5人的籍貫

selectaddress籍貫,count(*)人數(shù)fromstudent

groupbyaddresshavingcount(*)>=5;

--年齡總和超過(guò)200的性別

selectgender性別,sum(age)總年齡fromstudent

groupbygenderhavingsum(age)>200;

模糊查詢(xún)

通配符:

%匹配任意多字符

_匹配一個(gè)字符

like關(guān)鍵字

示例:

--查找所有姓李的人

select*fromstudentwherenamelike'李%';

select*fromstudentwherenamelike'%大%';

select*fromstudentwherenamelike'李_';

以上就是關(guān)于扣丁學(xué)堂Java開(kāi)發(fā)之MySQL數(shù)據(jù)庫(kù)基礎(chǔ)和SQL語(yǔ)言入門(mén)的詳細(xì)介紹,最后想要了解更多內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)查看。扣丁學(xué)堂Java培訓(xùn)機(jī)構(gòu)不僅有專(zhuān)業(yè)的老師和與時(shí)俱進(jìn)的課程體系,還有大量的JavaEE視頻教程供學(xué)員觀看學(xué)習(xí),想要了解學(xué)習(xí)Java的小伙伴快快行動(dòng)吧。Java技術(shù)交流群:670348138。


關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料



關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料



查看更多關(guān)于“Java開(kāi)發(fā)資訊的相關(guān)文章>>

標(biāo)簽: JavaEE視頻教程 JavaEE培訓(xùn) JavaEE開(kāi)發(fā)工程師 Java培訓(xùn) Java開(kāi)發(fā)程序員 MySQL數(shù)據(jù)庫(kù)

熱門(mén)專(zhuān)區(qū)

暫無(wú)熱門(mén)資訊

課程推薦

微信
微博
15311698296

全國(guó)免費(fèi)咨詢(xún)熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號(hào)中關(guān)村智誠(chéng)科創(chuàng)大廈4層
京ICP備2021002079號(hào)-2   Copyright ? 2017 - 2022
返回頂部 返回頂部