继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【备战春招】第4天 Java数据库开发与实战(数据库表的相关操作)

谦瑞
关注TA
已关注
手记 79
粉丝 8
获赞 8
课程名称:Java工程师2022版
课程章节:Java数据库开发与实战
课程讲师:IT老齐 悟空 八戒猪 神思者 Leo
课程内容:数据库表的相关操作

一、MySQL的配置文件
1.在my.ini文件中,我们可以设置各种MySQL的配置,例如字符集、端口号、目录地址等等。my.init主要由三部分组成,client和mysql文件主要保存的是客户端配置信息;mysqld保存数据库配置信息。
2.可以在隐藏文件my.ini下看到关于MySQL的配置文件,主要包含了端口号的设置,数据目录的设置,默认存储引擎的设置,开启严格模式,用文件记录日志,关闭日志输出,关闭日志输出,日志文件的名称,开启慢查询日志,慢查询日志文件的名称,大于多少秒的执行SQL被记录在慢查询日志,错误日志的名称,数据库ID,把表转换为小写,导入导出数据的目录地址,最大连接数的设置。
二、数据库表的创建
1.什么是SQL语言?
SQl语言是一种计算机语言,是结构化查询语言,SQL语言是用于访问和处理数据的标准的计算机语言。比如HTML,CSS,JavaScript语言是用于网页设计的语言;Swift语言是用于开发ios系统软件的;C++,C#,VB语言是用来开发桌面程序的;SQL语言只能用于数据库。
2.SQL语言的分类
DML语言用于添加、修改、删除、查询。
DCL语言用于用户、权限、事务。
DDL语言用于逻辑库、数据表、视图、索引。
3.SQL语句注意事项
SQL语句不区分大小写,但是字符串区分大小写。
SQL语句必须以分号结尾。
SQL语句中的空白和换行没有限制,但是不能破坏语法。
SQL语句的注释有两种,分别是#开头的注释和/**/的段落注释
4.创建逻辑库

CREATE DATABASE 逻辑库名称;
SHOW DATABASES;
DROP DATABSE 逻辑库名称;

逻辑库的名称可以是英文,也可以是英文加数字,但最好不要使用中文。使用SHOW DATABASES可以看到我们现有的逻辑空间,使用DROP DATABSE 逻辑库名称;可以删除选中的逻辑库。
5.创建数据表

CREATE TABLE student(
id INT UNSIGNED PRIMARY KEY,
name VARCHAR(20) NOT NULL,
sex CHAR(1) NOT NULL,
birthday DATE NOT NULL,
tel CHAR(11) NOT NULL,
remark VARCHAR(200)
);

可以看到上述代码以创建一个学生表信息为例,id字段设置为无符号整形,且为主键;name字段字符串类型,大小为20,且不为空;sex字段设置为字符类型,大小为1,且不为空;birthday字段设置为date类型,且不为空;tel字段设置为字符类型,大小为11,且不为空;remark字段是这张表的最后一个字段,所以在字段的最后不需要加“,”,设置为字符串类型,大小为200,无限制条件。
有一个小细节,在创建了逻辑库之后,你需要切换到自己想用的逻辑库中,可以使用USE test; 这里的test是逻辑库test,当然也可以使用USE命令切换到别的逻辑空间。
逻辑空间对应的是文件夹,那我们创建的表,对应的是文件。
创建好student表之后,我们可以去Data文件夹中找到看到我们之前创建的test逻辑空间(文件夹),在test文件夹中可以看到student.idb文件,当然这个文件是一个二进制的文件,不可以用记事本等打开,打开后是乱码。
6.数据表的其他操作

SHOW tables;
DESC student;
SHOW CREATE TABLE student;
DROP  table student;

SHOW tables;语句是查询当前逻辑空间中存在的表。
DESC student;语句是查看当前表的结构。
SHOW CREATE TABLE student;语句用于查看当时建student表的SQL语句。
7.MySQL常用的数据类型
(1)数字数据类型

类型 大小 说明
TINYINT 1字节 小整数
SMALLINT 2字节 普通整数
MEDIUMINT 3字节 普通整数
INT 4字节 较大整数
BIGINT 8字节 大整数
FLOAT 4字节 单精度浮点数
DOUBLE 8字节 双精度浮点数
DECIMAL ------ DECIMAL(10,2)

这是数字类型的分类,其他的类型在别的编程语言中可以经常看到,但是DECIMAL这种类型是属于浮点类型,而且在保存的过程中不会丢失精度,这里的第一个参数10指的是数字总的位数,参数2指的是精确到小数点后2位,当然这两个参数都可以自己进行定义。
十进制的浮点数无法在计算机中用二进制精确表达,只能是无限的接近,不能够准确的表示出来,所以使用DECIMAL类型准确的表示浮点类型。
(2)字符串数据类型

类型 大小 说明
CHAR 1-255字符 固定长度字符串
VARCHAR 1-65535字符 不确定长度字符串
TEXT 1-65535字符 不确定长度字符串
MEDIUMTEXT 1-1千6百万字符 不确定长度字符串
LONGTEXT 1-42亿字符 不确定长度字符串

(3)日期数据类型

类型 大小 说明
DATE 3字节 日期
TIME 3字节 时间
YEAR 1字节 年份
DATETIME 8字节 日期时间
TIMESTAMP 4字节 时间戳

8.修改表的结构

ALTER TABLE student
ADD address VARCHAR(200) NOT NULL,
ADD home_tel CHAR(11) NOT NULL;

向已有的表中添加字段,通过执行上述代码就可以往student表中添加address字段和home_tel字段。

ALTER TABLE student
MODIFY home_tel VARCHAR(20) NOT NULL;
DESC student;

改变了student表中的home_tel字段的数据类型。

ALTER TABLE student
CHANGE address home_address VARCHAR(200) NOT NULL;
DESC student;

改变原有表student中address字段的名称,通过运行上述代码可以看到原有字段的名称被修改为home_address,这里需要注意关键词是CHANGE。顺便说一句,这里的ALTER TABLE语句是属于DDL语句。

ALTER TABLE student
DROP home_address,
DROP home_tel;

删除原有表中的字段,执行上述代码后就可以看到student表中的home_address,home_tel字段都被删除了。
三、数据库表字段约束
1.数据库的范式
构造数据库必须遵循一定的规则,这种规则就是范式。目前关系型数据库有6中范式,一般情况下,只满足第三范式即可。
第一范式:原子性是数据库的基本要求,不满足这一点就不是关系型数据库。数据表的每一列都是不可分割的基本数据项,同一列中不能有多个值,也不能存在重复的属性。
第二范式:唯一性,数据表中的每条记录必须是唯一的。为了实现区分,通常要为表加上一个列用来存储唯一标识,这个唯一属性列被称为主键列。
第三范式:关联性,每列都与主键有之间关系,不存在传递依赖。依照第三范式,数据可以拆分保存到不同的数据表,彼此保持关联。
2.字段约束
MySQL中字段约束供有四种:

约束名称 关键字 描述
主键约束 PRIMARY KEY 字段值唯一,且不能为NULL
非空约束 NOT NULL 字段值不能为NULL
唯一约束 UNIQUE 字段值唯一,且可以为NULL
外键约束 FOREIGN KEY 保持关联数据的逻辑性

主键约束:要求字段的值必须在全表唯一,且不能成为NULL值;建议主键一定要使用数字类型,因为数字类型的检索速度会非常快;如果主键是数字类型,还可以设置自动增长。
非空约束:要求字段的值不能为NULL值,NULL值是没有值,不是“”空字符串。
唯一约束:要求字段值如果不为NULL,那么在全表必须唯一。
外键约束:外键约束用来保证关联数据的逻辑关系。外键约束的定义是写在子表上的。

课程收获:

完成了今天的学习目标:
1.MySQl配置文件
2.数据表的创建
3.数据库表字段约束

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP