Java视频教程之MySQL数据库基础和SQL语言入门分享
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件。
MySQL的安装和配置
相关概念:
数据库:数据的仓库,存储数据的地方。
表:分类对数据进行存储,实际保存数据的地方
列(字段):具体的一项信息,如:姓名、年龄
行(记录):实际的实体信息
主键:能唯一地标识一行记录的列
Navicat图形工具的使用:
NavicatforMySQL是常用的MySQL客户端工具,可以从网上下载,免费使用30天。
MySQL数据类型:
数据类型
所占字节
取值范围
tinyint
1字节
-128~127
smallint
2字节
-32768~32767
mediumint
3字节
-8388608~8388607
int
4字节
范围-2147483648~2147483647
bigint
8字节
+-9.22*10的18次方
float(m,d)
4字节
单精度浮点型,m总个数,d小数位
double(m,d)
8字节
双精度浮点型,m总个数,d小数位
decimal(m,d)
decimal是存储为字符串的浮点数
CHAR
0-255字节
定长字符串
VARCHAR
0-255字节
变长字符串
TINYBLOB
0-255字节
不超过255个字符的二进制字符串
TINYTEXT
0-255字节
短文本字符串
BLOB
0-65535字节
二进制形式的长文本数据
TEXT
0-65535字节
长文本数据
MEDIUMBLOB
0-16777215字节
二进制形式的中等长度文本数据
MEDIUMTEXT
0-16777215字节
中等长度文本数据
LOGNGBLOB
0-4294967295字节
二进制形式的极大文本数据
LONGTEXT
0-4294967295字节
极大文本数据
VARBINARY(M)
允许长度0-M个字节的定长字节符串
值的长度+1个字节
BINARY(M)
M
允许长度0-M个字节的定长字节符串
SQL语言:
SQL全称是结构化查询语言(StructuredQueryLanguage)。使用SQL能进行数据库的增删查改。学习数据库的基本核心内容就是SQL。
SQL分类如下:
数据定义语言(DDL:DataDefinitionLanguage)
数据操作语言(DML:DataManipulationLanguage)
数据查询语言(DQL:DataQueryLanguage)
数据控制语言(DCL:DataControlLanguage)
一、DDL
数据库定义语言:
创建数据库
createdatabase数据库名;
使用数据库
use数据库名;
删除数据库
dropdatabase数据库名;
dropdatabaseifexists数据库名;
创建表
createtable表名(
列名数据类型约束,
...
);
主键:primarykey
自动增长:auto_increment
删除表
droptable表名;
droptableifexists表名;
练习:
创建my_db数据库
在my_db中,创建学生表,包含编号(主键,自增)、姓名、年龄和地址
二、DML
数据新增
insertinto表名(列1,列2...)values(值1,值2...)
示例:
--插入一行记录
insertintostudent(name,age,gender,address)
values("张三",20,"男","湖北武汉");
--插入多行记录
insertintostudent(name,age,gender,address)
values
("李四",20,"男","湖北武汉"),
("李大四",22,"女","北京"),
("李小四",25,"女","北京"),
("李四四",27,"女","上海");
--将表中的数据插入到其它表
insertintostudent2(name,age,gender,address)
selectname,age,gender,addressfromstudent;
注意:
1、自动增长列不要添加数据
2、列的数量、类型和顺序要和值一致
数据修改
update表名set列1=值1,列2=值2where条件
示例:
--更新李小四的地址为四川成都
updatestudentsetaddress="四川成都"
wherename="李小四";
--更新多列
updatestudentsetaddress="四川成都",age=18
wherename="李小四";
数据删除
deletefrom表名where条件
示例:
--删除id=2的学生
deletefromstudentwhereid=5;
练习:
在学生表中添加5行记录,
更新id为5的学生年龄为22
删除id为3的学生
四、DQL
查询所有数据
select*from表;
查询指定字段的所有数据
select列1,列2from表;
where条件查询
select*from表where条件
=、!=、in、notin、and、or
示例:
--查询所有行所有列
select*fromstudent;
--查询部分列
selectname,addressfromstudent;
--添加where条件查询id为2的学生
select*fromstudentwhereid=2;
--查询id不为2的
select*fromstudentwhereid!=2;
--查询地址为湖北武汉以及四川成都的学生
select*fromstudentwhereaddress="湖北武汉"oraddress="四川成都";
--查询年龄20岁以上的男的
select*fromstudentwhereage>=20andgender="男";
--查询地址为湖北武汉以及四川成都的学生2
select*fromstudentwhereaddressin("湖北武汉","四川成都");
--查询地址不是湖北武汉以及四川成都的学生
select*fromstudentwhereaddressnotin("湖北武汉","四川成都");
去掉重复数据
distinct关键字
selectdistinct列from表;
示例:
--查询学生的地址,不重复
selectDISTINCTaddressfromstudent;
--给列设置别名
selectid编号,name姓名,age年龄,gender性别,address地址fromstudent;
--查询年龄在20到25之间的女生
select*fromstudentwhereage>=20andage<=25andgender="女";
select*fromstudentwhereagebetween20and25andgender="女";
--查询北京或武汉的男生
select*fromstudentwhereaddressin("北京","湖北武汉")andgender="女";
排序查询
select*from表orderby列descasc
示例:
--按年龄升序排序
select*fromstudentwheregender="男"orderbyageasc;
--降序
select*fromstudentorderbyagedesc;
分页查询
limitn;返回长度为n的行
limitn,m;返回从n位置,长度为m的行
select*fromtb_namelimit5;显示结果的前5条记录
select*fromtb_namelimit0,5;区段查询
示例:
--按年龄升序排序
select*fromstudentwheregender="男"orderbyageasc;
--降序
select*fromstudentorderbyagedesc;
--通过limit限制行数前5行
select*fromstudentlimit5;
--通过limit分页查询第一页第0行到第5行,第二页第6行到第10行...
select*fromstudentLIMIT0,5;
select*fromstudentLIMIT5,5;
select*fromstudentLIMIT10,5;
练习:
年龄最大的男学生
年龄最小的五个女学生
聚合函数
求和:sum
求平均值:avg
求最大值:max
求最小值:min
求数量:count
示例:
selectsum(col_name)fromtb_name;
分组查询
groupby分组列
where在分组之前进行条件筛选
having在分组之后进行条件筛选
where-->groupby--->having
示例:
--使用聚合函数
selectsum(age)总年龄,avg(age)平均年龄,
max(age)最大年龄,min(age)最小年龄,count(*)学生数量fromstudent;
--求来之不同地方的学生人数
selectaddress籍贯,count(*)人数fromstudentgroupbyaddress;
--求男女学生的人数
selectgender性别,count(*)人数,avg(age)平均年龄fromstudentgroupbygender;
--求人数超过5人的籍贯
selectaddress籍贯,count(*)人数fromstudent
groupbyaddresshavingcount(*)>=5;
--年龄总和超过200的性别
selectgender性别,sum(age)总年龄fromstudent
groupbygenderhavingsum(age)>200;
模糊查询
通配符:
%匹配任意多字符
_匹配一个字符
like关键字
示例:
--查找所有姓李的人
select*fromstudentwherenamelike"李%";
select*fromstudentwherenamelike"%大%";
select*fromstudentwherenamelike"李_";
以上就是关于扣丁学堂Java开发之MySQL数据库基础和SQL语言入门的详细介绍,最后想要了解更多内容的小伙伴可以登录扣丁学堂官网查看。扣丁学堂Java培训机构不仅有专业的老师和与时俱进的课程体系,还有大量的JavaEE视频教程供学员观看学习,想要了解学习Java的小伙伴快快行动吧。扣丁学堂Java技术交流群:850353792。
比亚迪宋MAX畅销车型。宋MAX目前是比亚迪旗下最畅销的车型,每月销量超过1。4万台,足以用爆款来形容。宋MAX热销的背后,与该车极富表现力的DragonFace设计不无关系,该车设计语言出自一位知名德国
比亚迪F3换出租汽车的首选近年来,国内的经济增长迅速,国内的汽车保有量蹭蹭的上涨,虽然说目前市场开始疲软,但是国人对于汽车的热情依旧是高涨,不少的老百姓对于豪车以及新车型都保持着高度的关注,当然也时刻关注着
呼伦贝尔宋MAX热销中,购车优惠0。4万元谈及理想生活,多少都会带有未来的憧憬,舒适科技感的生活,而现实中,你需要一台宋MAX,为你的现实生活增添舒适与便利,当前比亚迪益丰祥泰店降价4。22,活动时间09。2709。27,
呼伦贝尔唐可试乘,限时特惠0。3万元公司里忙不完的项目,每日地铁口的拥堵,没有个人空间怎么办?我要买唐,我要买唐,我要买唐。重要的事情说三遍!近日,比亚迪益丰祥泰店唐销售,颜色可选,目前购车部分车型限时特惠0。3万元
惊喜福利到,呼伦贝尔比亚迪F3直降0。3万元,期待您的光临忙碌的工作,使您倍加疲劳,是时候奖励自己一下了,比亚迪益丰祥泰店回馈客户大放价,09。2709。27,比亚迪F3降价0。3万元,奖励奋斗的自己,幸福有你更有礼促销时间2021年09
呼伦贝尔秦ProEV让利促销,限时特惠0。5万元,欢迎垂询工作的不顺心,生活的烦恼,是时候换辆车改变一下心情了,近期比亚迪益丰祥泰店即日起到09月26日,限时特惠0。5万元,期待您的光临促销时间2021年09月26日至2021年09月26
比亚迪混动车型,油耗超低。2003年开始研发,2008年正式上市的混合动力车型比亚迪F3DM,是中国品牌首款量产插电式混合动力汽车。这款具有里程碑式意义的车型奠定了比亚迪在中国新能源汽车市场中的开拓者和引领
评论丨亚马逊云15周年全球化与本地化的融合秘钥文章来源原创作者顾海假如你是一家美国的跨国企业,到中国开设了分公司和研发中心,但你需要保持业务和IT系统架构的连续性,又要适应中国本土化的规则和市场特点假如你是一家中国的游戏公司,
专访丨OSIM傲胜林晓慧创新AI技术催化健康生活方式技术的进步和对优质生活品质的追求,催生了健康产品的快速迭代和升级。而人工智能的发展和大数据的运用,也使得健康产品被赋予了全新的内涵。作为健康生活方式的领军品牌,OSIM傲胜推出的u
解析丨西部数据iNANDMCEU551闪存智能手机存储效能的强力引擎随着芯片制程架构和算力算法的精进,作为智能手机整个系统链条中的关键一环,存储器的性能和效能也在不断实现突破。新近推出的,专为智能手机定制的西部数据iNANDMCEU551嵌入式闪存
年度吓人技术集大成者,荣耀V20深度诠释科技领先主义2018年12月26日,荣耀V20正式在北京发布。这款集极致科技与性能于一身的产品,通过技术创新和突破,不仅成为荣耀手机的年度大成之作,更是为2019年的旗舰手机定标,用技术和产品