上海 [ 更换 ]
热门城市
北京上海广州深圳成都杭州南京武汉天津西安重庆青岛沈阳长沙大连厦门无锡福州济南宁波昆明苏州郑州长春合肥南昌哈尔滨常州烟台南宁温州石家庄太原珠海南通扬州贵阳东莞徐州大庆佛山威海洛阳淮安呼和浩特镇江潍坊桂林中山临沂咸阳包头嘉兴惠州泉州三亚赣州九江金华泰安榆林许昌新乡舟山慈溪南阳聊城海口东营淄博漳州保定沧州丹东宜兴绍兴唐山湖州揭阳江阴营口衡阳郴州鄂尔多斯泰州义乌汕头宜昌大同鞍山湘潭盐城马鞍山襄樊长治日照常熟安庆吉林乌鲁木齐兰州秦皇岛肇庆西宁介休滨州台州廊坊邢台株洲德阳绵阳双流平顶山龙岩银川芜湖晋江连云港张家港锦州岳阳长沙县济宁邯郸江门齐齐哈尔昆山柳州绍兴县运城齐河衢州太仓张家口湛江眉山常德盘锦枣庄资阳宜宾赤峰余姚清远蚌埠宁德德州宝鸡牡丹江阜阳莆田诸暨黄石吉安延安拉萨海宁通辽黄山长乐安阳增城桐乡上虞辽阳遵义韶关泸州南平滁州温岭南充景德镇抚顺乌海荆门阳江曲靖邵阳宿迁荆州焦作丹阳丽水延吉茂名梅州渭南葫芦岛娄底滕州上饶富阳内江三明淮南孝感溧阳乐山临汾攀枝花阳泉长葛汉中四平六盘水安顺新余晋城自贡三门峡本溪防城港铁岭随州广安广元天水遂宁萍乡西双版纳绥化鹤壁湘西松原阜新酒泉张家界黔西南保山昭通河池来宾玉溪梧州鹰潭钦州云浮佳木斯克拉玛依呼伦贝尔贺州通化朝阳百色毕节贵港丽江安康德宏朔州伊犁文山楚雄嘉峪关凉山雅安西藏四川广东河北山西辽宁黑龙江江苏浙江安徽福建江西山东河南湖北湖南海南贵州云南陕西甘肃青海台湾内蒙古广西宁夏香港澳门
培训资讯网 - 为兴趣爱好者提供专业的职业培训资讯知识

好程序员Java培训分享MySQL之SQL入门(一)

java培训 培训

好程序员Java培训分享MySQL之SQL入门(一)前言:各种版本的数据库中,有一种通用的语言用于管理数据库中的数据,它就是SQL,本章我们将学习基本的SQL语句。

SQL的概述

Structured Query Language 结构化查询语言,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

各种主流的数据库系统都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用,但大部分是相同的,后面我们学习的是MySQL的版本,掌握SQL主要语法之后,要迁移到其它数据库也是比较容易的。

结构化查询语言包含6个部分:

一:数据查询语言(DQL:Data Query Language):

其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。

二:数据操作语言(DML:Data Manipulation Language):

其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。

三:事务处理语言(TPL):

它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。

四:数据控制语言(DCL):

它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

五:数据定义语言(DDL):

其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。

六:指针控制语言(CCL):

它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

本章我们主要介绍的是DDL和DML。

MySQL数据库的操作

创建数据库的基本语法是:

create database 数据库名;

还可以给数据库指定默认的字符集以及排序规则:

create database 数据库名

default character set 字符集 collate 排序规则;

选择数据库

use 数据库名;

修改数据库的字符集和排序规则:

alter database 数据库名

default character set 字符集 collate 排序规则;

删除数据库:

drop database 数据库名;

删除时检查数据库是否存在:

drop database if exists 数据库名;

代码示例:

1.-- 删除数据库

2.drop database if exists java1903;

3.-- 创建数据库

4.create database java1903

5.default character set utf8mb4

6.collate utf8mb4_general_ci;

7.-- 使用数据库

8.use java1903;

MySQL常见的数据类型

创建好数据库后,我们就需要建表,建表我们需要设置字段的数据类型,我们先来了解MySQL中常见的数据类型。

类型名称

说明

存储需求

TINYINT

很小的整数

1个字节

SMALLINT

小的整数

2个宇节

MEDIUMINT

中等大小的整数

3个字节

INT (INTEGHR)

普通大小的整数

4个字节

BIGINT

大整数

8个字节

2)小数类型

类型名称

说明

存储需求

FLOAT

单精度浮点数

4 个字节

DOUBLE

双精度浮点数

8 个字节

DECIMAL (M, D),DEC

压缩的“严格”定点数

M+2 个字节

3) 日期/时间类型

类型名称

日期格式

日期范围

存储需求

YEAR

YYYY

1901 ~ 2155

1 个字节

TIME

HH:MM:SS

-838:59:59 ~ 838:59:59

3 个字节

DATE

YYYY-MM-DD

1000-01-01 ~ 9999-12-3

3 个字节

DATETIME

YYYY-MM-DD HH:MM:SS

1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

8 个字节

TIMESTAMP

YYYY-MM-DD HH:MM:SS

1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC

4 个字节

3) 字符串类型

类型名称

说明

存储需求

CHAR(M)

固定长度非二进制字符串

M 字节,1<=M<=255

VARCHAR(M)

变长非二进制字符串

L+1字节,在此,L< = M和 1<=M<=255

TINYTEXT

非常小的非二进制字符串

L+1字节,在此,L<2^8

TEXT

小的非二进制字符串

L+2字节,在此,L<2^16

MEDIUMTEXT

中等大小的非二进制字符串

L+3字节,在此,L<2^24

LONGTEXT

大的非二进制字符串

L+4字节,在此,L<2^32

ENUM

枚举类型,只能有一个枚举字符串值

1或2个字节,取决于枚举值的数目 (最大值为65535)

SET

一个设置,字符串对象可以有零个或 多个SET成员

1、2、3、4或8个字节,取决于集合 成员的数量(最多64个成员)

4) 二进制类型

类型名称

说明

存储需求

BIT(M)

位字段类型

大约 (M+7)/8 字节

BINARY(M)

固定长度二进制字符串

M 字节

VARBINARY (M)

可变长度二进制字符串

M+1 字节

TINYBLOB (M)

非常小的BLOB

L+1 字节,在此,L<2^8

BLOB (M)

小 BLOB

L+2 字节,在此,L<2^16

MEDIUMBLOB (M)

中等大小的BLOB

L+3 字节,在此,L<2^24

LONGBLOB (M)

非常大的BLOB

L+4 字节,在此,L<2^32

表的操作

创建表:

create table 表名

(

字段名 数据类型 [约束],

字段名 数据类型 [约束],

....

)

主要的约束类型有:

primary key主键,表中只能有一个,不能重复,不能为空

not null 非空,必须填写

unique唯一,不能重复

auto_increment自动增长,必须是整数类型,不需要手动插入

foreign key外键,建立表之间的引用关系

删除表:

drop table 表名;

删除表时进行检查:

drop table if exists 表名;

修改表,添加字段:

alter table 表名 add column 字段名 数据类型;

修改表,删除字段:

alter table 表名 drop column 字段名;

查看表结构:

desc 表名;

代码示例:

9.-- 删除表

10.drop table if exists tb_student;

11.-- 创建学生表

12.create table tb_student

13.(

14.stu_id int primary key auto_increment,

15.stu_name varchar(20) not null,

16.stu_age int not null,

17.stu_gender varchar(1) not null,

18.stu_address varchar(200)

19.);

数据操作语言DML

数据操作语言有插入、删除和更新语句组成。

单行插入:

insert into 表名(字段名,字段名,字段名..) values(值,值,值..);

多行插入

insert into 表名(字段名,字段名,字段名..)

values(值,值,值..),(值,值,值..),(值,值,值..);

将一张表数据插入另一张表

insert into 表1(字段名,字段名,字段名..)

select 字段名,字段名,字段名 from 表2;

删除所有数据

delete from 表名;

清空表

truncate table 表名;

带条件的删除

delete from 表名 [where 条件];

更新

update 表名 set 字段 = 值,字段 = 值... [where 条件];

代码示例:

20.-- 插入一行学生记录

21.insert into tb_student(stu_name,stu_age,stu_gender,stu_address)

22.values("赵六",30,"男","上海");

23.-- 插入多行学生

24.insert into tb_student(stu_name,stu_age,stu_gender,stu_address)

25.values("陈七",20,"男","武汉"),("陈大七",28,"男","上海"),("陈小七",18,"男","北京");

26.-- 删除学号为3的学生

27.delete from tb_student where stu_id = 3;

28.-- 全部删除

29.delete from tb_student;

30.-- 清空表

31.truncate table tb_student;

32.-- 更新陈七的年龄为23,性别为女

33.update tb_student set stu_age = 23,stu_gender = "女"

34.where stu_name = "陈七";

总结

本章我们学习了SQL语言中的DDL和DML,能实现建表建表和数据的增删改操作,还有一个重要的查询操作,也就是DQL,会在下章介绍。

相关内容

从客服代表转平面设计,年近30中专学历的我怎样完成华丽转身

“老师,你还记得我吗?我是小梅……”随着一个来电的接听,这个曾经给我留下深刻印象的名字跳入了我的脑海里。把我带入了去年底的一次咨询中。小梅出生在广东的一个小城,那个小城一直有重男轻女的传统。小梅作为家中的老小,上面还有一个哥哥,因为是女孩,···

2023上海软件开发培训机构排行榜告诉你35被优化的真相

被优化了?成为社会闲散人员了?开心从大厂毕业了?35岁被“优化”的真相是什么,是工作多年毫无长进,还是同事关系一滩烂泥,或者领导觉得你不善言谈?亦或是体力和精力都大不如年轻人,利用价值大大下降。其实小编认为其本质原因就是工作替代性太高,本身···

chat GPT角色指令人工智能AI

ai.aayay.cn点击进入AI聊天机器人 chat GPT3.5 4.0 MJ绘画等功能人工智能成像写论文,写代码,写文案,感情问题,一切关于学术问题都可以问机器人,辅助学习的好工具。以下是调教与使用GPT的指令集,人工智能成就未来,···

面对来势汹汹的ChatGPT,这届中产家长开始请人工智能给娃做私教

看点 自ChatGPT问世以来,很多行业大咖都预言过它会给教育带来巨变。可是具体怎么变?影响是好是坏?虽然尚无定论,但有些家长决定先下手为强,让ChatPGT成为孩子的“一对一”私教。AI也确实不负所托,不过,这个过程也让各位家长、教育者看···

上海靠谱的Java培训是什么标准

进入IT互联网行业,很多同学都选择了通过参加培训的方式,然而市面上大大小小的培训层出不穷,教学水平和质量参差不齐,但无一例外的都会有好的条件吸引你做出选择,那么在上海学习,如何在众多的培训中选择出适合自己的,靠谱的Java培训有哪些标准呢?···

上海哪个Java培训最好?

上海哪个Java培训最好?随着互联网的不断发展,IT行业成为目前最炙手可热的行业之一,也有越来越多的同学选择加入到这个行列中来,但是大家不知道如何去选择一家好的Java培训班,今天小编就来帮助大家在上海或者其它地区是怎么筛选的!1. 关注培···

上海正规Java培训机构怎么选

上海属于一线城市,当然能接触到最前瞻的Java技术,在上海找一家Java培训机构,自然比二三线城市要好。但一线城市Java培训机构也多,这就需要您的火眼金睛选一家比较靠谱的Java培训机构了。建议您呢,多方面考虑,实地考察吧。第一:上海Ja···

上海java培训业余班选哪里的好

就目前的发展趋势来看,IT行业的发展还是很不错的,尤其是java程序员这个岗位,就业前景十分广阔,薪资待遇也高,是很多人都向往的,有些其他行业的小伙伴也想学习java技术进行转行。那么,上海java培训业余班选哪里的好?这个问题就由动力节点···

上海Java培训机构哪家靠谱

像上海这样的一线城市,Java编程语言自然是火爆而流行的,培训机构肯定也是只多不少的,尤其是近年来IT互联网的快速发展,IT培训机构成倍增多,当然淘汰率也逐渐增长,具体的说上海Java培训机构哪家靠谱,不如您自己多方面的考量,综合考察,亲自···

上海java哪个培训机构好

随着国家对信息产业的拉动政策,5G的不断推动,对软件开发人员仍然有较大需求。随着5G时代的来临,5G行业的人才需求会伴随产业的不断发展逐渐增加,未来几年人才需求将增加几十万,甚至上百万。上海java哪个培训机构好?如果判断Java培训机构的···

上海最好的Java培训班有哪家

目前IT行业中Java软件开发的高薪资,待遇好,入门门槛低等原因,导致很多小白都想转行Java行业,那么身为小白,我们如何开始,为转行Java铺路呢?小编建议,尽量参加Java培训班,可能你会觉得Java培训班的学费太贵了,但是等你真正转行···

上海正规Java培训机构推荐,只有踩过坑的人才能说明白

上海正规Java培训机构有推荐吗?说实话,我们与其看推荐,不如真实的到校体验试学课程。面对IT行业这样的市场现状,不少同学开始思考如何进阶自己,提升竞争力,以便于更好的在这个行业中发展。最好是能够突破瓶颈,更上一层。不少同学将目光投向了上海···

UI设计培训课程学什么

学平面设计上海杨浦区哪个培训学校靠谱?上海哪里有平面设计培训学校?上海平面设计培训需要学多久?学设计到天琥天琥专注设计18年,一直广受学员的好评推荐,是设计培训行业具有规模和品牌影响力的机构。学前小测,30秒时间-看看你有没有当设计师的潜质···

UI设计要怎么学?学什么?上海UI设计培训

UI即User Interface(用户界面)的简称。UI设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点。 技术上没什么···

上海Java培训机构排名榜单,不看后悔系列

上海Java培训机构排名榜单,不看后悔 学习Java编程不在是校内学生们的专利了,随着职场上竞争越来越激烈,毫无基础的或想要转行的求职者对于学习Java的积极性也是越来越高,因此,市面上涌现了大批的成人Java培训机构,为了不让大家纠结,小···

上海哪家UI设计培训机构好 就业率高

UI设计如此火爆,但我们在开始正式学习前,进行培训?机构选择时还是应该认真挑选,只有找到自己适合的机构,才能让自己拥有更多的学习动力,掌握到很好的学习方法,达到事半功倍的效果。天琥教育机构拥有十多年的教学培训经验,目前在全国拥有2···

学习UI设计上海去哪里比较好?

学习UI设计上海去哪里比较好?上海哪个UI设计培训机构靠谱?上海UI设计培训需要学些什么?学设计到天琥UI设计工作平均薪资8k+,市场发展空间大,是UI设计近几年火爆的原因之一。本信息来源于https://sh.bdsh5.com/。对于大···

2022年备考「嵌入式系统设计师」你准备好了吗?

2023年准备参加软考获取中级职业技术资格认证的小伙伴咱们约起吧?!研究了下电子工程师是否有证书,第一反应想到是没有的,后面一查,发现还真有与之相关的证书,一时间就去了解了下,是在软考的范围内的,下面是我对嵌入式系统设计师考试的了解,我还搜···

盘点2021年室内设计10大“出圈”事件

小编得带你了解一下,2021年,到底有哪些“出圈”的事件,值得你回顾的~01.《安邸AD》——发布中国版AD100榜△来源:安邸AD2013年,安邸AD首次推出中国版的AD100榜单,且每两年更新一次。2021年是安邸AD创刊的10周年,《···

室内设计培训机构哪里好?上海装修设计师培训班

很多零基础的小白对于学习室内设计都是十分恐惧的,毕竟自己还没有好的学习方法,一点基础都没有,不知道自己应该要怎么学好室内设计?自己要学多久才能出师?室内设计零基础怎么学?那么针对零基础的小白,我们应该怎么学好室内设计呢?有什么好的学习方法吗···