第五周知识点总结

Java学习暂告一段落,进入数据库的学习…

MySQL数据库

相关术语

RDBMS(Relational Database Management System):关系数据库管理系统

DB:数据库,保存一组有组织的数据的容器

DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据

SQL:结构化查询语言,用于和DBMS通信的语言

RDBMS 即关系数据库管理系统的特点:

数据以表格的形式出现,每行为各种记录名称,每列为记录名称所对应的数据域,许多的行和列组成一张表单,若干的表单组成database

数据库: 数据库是一些关联表的集合。
数据表: 数据的矩阵,像一个简单的电子表格。
列(字段): 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
行(记录):是一组相关的数据,例如一条用户订阅的数据。
冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
主键:主键是唯一的。一个数据表中只能包含一个主键。常用主键查询数据。
外键:外键用于关联两个表。
复合键:将多个列作为一个索引键,一般用于复合索引。
索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

启动方法

  1. CMD在管理员模式下使用命令启动/停止MySQL服务

    net start/stop MySQL;(不区分大小写)

  2. 进入计算机中的服务界面,手动启动

    点击计算机(我的电脑)–>鼠标右键–>管理–>在服务中查找MySQL服务,停止并启动。数据库**😗* 数据库是一些关联表的集合。

    数据表**😗* 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。

    列(字段)****: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。

    **行(记录):**一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。

    冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。

    主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。参数

    描述

    host

    可选。规定主机名或 IP 地址。

    username

    可选。规定 MySQL 用户名。

    password

    可选。规定 MySQL 密码。

    port

    可选。规定尝试连接到 MySQL 服务器的端口号。

    **外键:**外键用于关联两个表。

    复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。

    **索引:**使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序

    的一种结构。类似于书籍的目录。

    参照完整性**😗* 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满

    足的完整性约束条件,目的是保证数据的一致性。

  3. 登陆与退出

    MySQL [-h主机名 -p端口号] -uroot -p

    p:数据库管理系统可以有多个,可以在不同电脑,若连接的数据库系统再本地电脑中,则无需输入主机名和端口号;同样,输入对应的IP和端口号也可以进入非本地机器的数据库系统。这里u后面加数据库系统用户名,-p之后再enter键输入对应密码;

可能启动失败的原因:

1、端口号被占用,进入MySQL安装目录,用记事本软件打开my.ini文件,可以找到两处port,修改端口号即可;

在这里插入图片描述

2、结束占用端口的程序:

转载至百度:查询并结束对应端口的程序

数据类型

  1. 数值类型

    类型字节有符号范围无符号范围
    TINYINT1(-128,127)(0,255)
    SMALLINT2(-32768,32767)(0,65535)
    MEDIUMINT3
    INT/INTEGER4
    BIGINT8
    FLOAT4单精度浮点数
    DOUBLE8双精度浮点数
    DECIMAL

    p:对于float、double以及decimal,三者可以在后面添加长度以及小数位数来精确控制某些小数;

    例如:float(5,2) double(5,2) decimal(5,2);

    该数表示长度包括小数位为5,小数位为2;

    存入数据3.1415926放入三者中皆为3.14;

    然而在精确度计算上,decimal的运算精确度比两外两者更加准确,

    故金钱等急需精确计算的数据优先用decimal存储;

  2. 时间类型

    类型字节格式用途
    DATE3YYYY-MM-DD获取日期
    TIME3HH:MM:SS时间
    YEAR1YYYY年份
    DATETIME8YYYY-MM-DD HH:MM:SS年月日时间
    TIMESTAMP4YYYYMMDDHHMMSS年月日时间
  3. 字符串类型

    类型大小用途
    CHAR(255)0-255定长字符串
    VARCHAR(255)变长字符串
    TINYBLOB0-255二进制字符串
    TINYTEXT0-255短文本字符串
    BLOB二进制长文本数据
    TEXT长文本数据
    MEDIUMBLOB二进制形式的中等长度文本数据
    MEDIUMTEXT中等长度文本数据
    LONGBLOB二进制极大文本数据
    LONGTEXT极大文本数据

字段约束

  1. 主键约束(PRIMARY KEY)
    • 每张表只能有一个主键,用于保证记录的唯一性,同时便于查询;
    • 添加主键约束后,默认添加非空约束和唯一约束
  2. 自增约束(AUTO_INCREAM)
    • 配合主键使用,默认情况下,起始值为1,后每添加一条记录依次递增加一;
    • 也可以手动添加,下一次自动添加则为上一条记录的值加1;
  3. 外键约束(FOREIGN KEY)
    • 用于实现表与表之间一对一、一对多以及多对多的关系;
    • 值必须指向表的主键值;
    • 父表以及子表使用相同的存储引擎,并且数据类型形同;
  4. 默认约束(DEFAULT)
    • 用于实现数值的自动辅助,即使添加记录时缺少此字段,也会默认添加对应字段;
  5. 非空约束(NOT NULL)
    • 用于实现字段记录的非空性,若不添加,则字段记录可为空;
  6. 唯一约束(UNIQUE)
    • 用于实现记录的唯一性,避免字段记录的重复性;
    • 在此约束中字符记录可以为null,可以有多个null;一张表中可以有多个唯一约束
  7. 无符号约束(UNSIGNED)
    • 用于实现数字的正向性,在此约束下,整数不能为负数
# 用法例子
create table db_test(
  id INT PRIMARY KEY AUTO_INCREAM UNSIGNED,  # 主键约束,自增约束; 
  name CHAR(10) UNIQUE NOT NULL              # 非空约束,唯一约束
  d_id INT NOT NULL UNIQUE                 # 非空约束,唯一约束
  salary DOUBLE UNSIGNED                    	# 无符号约束
  FOREIGN KEY(d_id) REFERENCES               # 外键约束
   # 此外主键约束也可以有另一种写法
   # PRIMARY KEY(id,name) 内部可以有多个字段,此时组成的主键约束为复合主键
);

# 总结:约束用法
# 字段名1 字段类型 字段约束1  字段约束2 ....,

操作指令

数据库操作

# 1、查询当前所有数据库
SHOW DATABASES;
# 2、创建数据库
CREATE DATABASES 数据库名;
# 3、使用数据库
USE 数据库名;
# 4、显示当前所用数据库
SELECT DATABASE();
# 5、删除数据库
DROP DATABASE 数据库名;

表格结构操作

# 1、创建数据表
CREATE TABLE 数据表名(
    字段名1 字段类型 字段约束。
    字段名2 字段类型 字段约束.....
) 

# 2、删除表
DROP TABLE 数据表名;
# 3、查看数据表结构
DESC 数据表名;

# 其他字段操作暂不做介绍......

数据操作

# 1、插入记录
# 写法1:此种写法,values包括的数据要和字段数量相同
INSERT [INTO] 表名 values(数值1,数据2,......);
# 写法2:写入某些字段的记录,注意非空约束;
insert [into] 表明(字段1,字段2,......) values(数值1,数据2..);

# 2、删除记录
delete from 数据表名 [where 条件语句]
# 此处where以及后面的条件不写则表示删除全部记录;

# 3、修改记录
update 数据表名 set 字段1 = 新记录值2,字段2,新纪录值2...[where 条件]
# 若无条件则修改全部的记录

# 4、查询数据
select 字段1,字段2,...(`*`则表示所有字段)from 数据表名 [where 条件][having 筛选]

.);

2、删除记录

delete from 数据表名 [where 条件语句]

此处where以及后面的条件不写则表示删除全部记录;

3、修改记录

update 数据表名 set 字段1 = 新记录值2,字段2,新纪录值2…[where 条件]

若无条件则修改全部的记录

4、查询数据

select 字段1,字段2,…(*则表示所有字段)from 数据表名 [where 条件][having 筛选]


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值