当前位置: 首页 > 聚焦 > >正文

【D1n910】(5/42)学习【MySQL数据库】C++语言程序设计 - MySQL数据库的笔记|环球今亮点

来源:哔哩哔哩    时间:2023-03-29 08:06:34

正常操作,正常分析,大家好,我是D1N910。本文是我学习【MySQL数据库】C++语言程序设计 - MySQL数据库所做的文字笔记。

【MySQL数据库】

P1 数据处理技术概述~1


(资料图片仅供参考)

数据处理技术的发展

人工管理阶段 20世纪50年代中期之前

文件系统阶段 20世纪50年代后期~60年代中期

数据库阶段 20世纪60年代末~至今

IBM大哥出的数据管理系统。1969年的时候,美国大哥出了行业的标准。1970年,IBM的大哥在ACM的刊物上发了关系模型的概念;

复杂度高;独立性高;冗余度低;

【相关术语】

数据(Data):

数据库中存储的基本对象,包括文字、图形、图像、声音等

数据库(Database):

是长期存储在计算机内、有组织的、可共享的大量数据的集合

数据库管理系统(DBMS):

是位于用户和操作系统之间的一层数据库管理软件

科学的组织和存储数据、高效的获取和维护数据

数据库系统(DBS):

是指在计算机系统中引入数据库后的系统构成,由数据库、数据库管理系统(及其开发工具).应用系统、数据库管理员(和用户)构成

【主流的数据库产品】

层次、网状、关系以及非关系型

关系型应用时间最长,运用范围最广。

本门课就是学习关系型数据库。

1、Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司出的管理系统。2016年,在全球占市场的40%,占国内市场的60%!

2、DB2

IBM DB2企业服务器版本,是美国IBM公司发展的一套关系型数据库管理系统。

环境为UNIX、Linux、IBM i、Z/OS,以及Windows服务器版本。

提出了 SQL 语言的前身

3、Microsoft SOL Server

Microsoft SOL Server是由美国微软公司所推出的关系数据库解决方案

4、MysQL

MySQL原本是一个开放源代码的关系数据库管理系统

SQL 语言

SQL是用于对存放在计算机数据库中的数据进行组织、管理和检索的SQL"是Structured Query Language的缩写.

SQL是和关系数据库交织在一起发展起来的。

1970 Codd定义关系数据库模式

1974 IBM开始其System/R计划1974 首篇文章描述SEOUEL语言

1986 批准ANSI SOL标准

1987 批准TSO SOI标准

SQL可分为:

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

select

应用最广泛,语法最灵活最复杂,课程中花时间最多

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

insert、delete、update

用来改变数据库中表中的数据

数据定义语言(DDL): Data Definition Language

create、alter、drop

创建、修改或者删除数据库对象,比如表、视图等等

事务控制语言( TCL) : Transaction Control Language

commit 、rollback、savepoint

为了维护数据库数据的一致性

数据控制语言( DCL): Data Control Language

grant、revoke、create user

用来进行创建用户等,对数据库进行管理的操作,课程中不多

P2 1.2 MySQL基础知识~1

MySQL的特点

性能高效

跨平台支持

简单易用

开源

支持多用户

进入MySQL

启动和停止MySQL服务

启动:service mysql start

重启:service mysql restart

停止:service mysql stop

连接MySQL服务器

语法

>其中

host: 主机名或IP地址

username: 登录名

pwd: 密码

dbname: 当前数据库

port:端口号

示例

> mysql -h localhost -u root -p information_schema 3306

>mysql -h 192.168.1.1 -u root -p

断开服务器连接 exit, quit

清屏 control + L (Mac)

可以不输入主机号,使用默认主机号

但是如果IP地址不一样,那么就要加

MySQL的管理

创建数据库

创建数据库的语法

其中:

dbname是新建数据库的名称

示例

创建选课数据库 choose

*注意,我们每行语句都要用分号作为结尾!

查看数据库

查看所有数据库

语法: 

>其中 :

information _schema(定义了所有的数据库和数据库对象的信息)、performance_schema(收集mysql服务器的性能参数,方便数据库管理排查性能问题)以及mysql(配置账号数据等等)数据库为系统数据库。

choose数据库为刚刚新建的数据库显示指定数据库结构

>语法 : 

>其中 :

dbname 是要查看的数据库的名称

选择当前数据库

语法

其中: dbname 是要设置的当前数据库的名称

示例

将choose数据库设置为当前数据库

这个是我们连接数据库的时候直接在后面加上数据库的名称有一样的作用

删除数据库

语法

其中: dbname 是要删除的数据库的名称

示例 :

数据库一旦删除,保存在该数据库中的全部数据丢失

03 MySQL 表管理

创建表的语法 create

e.g.

查看表

查看当前数据库中所有的表

show tables

查看指定表的表结构

desc[ribe] table_name

示例: 

查看指定表的详细信息

show create table table_name;

示例 : 

删除表

删除表的语法

drop table table name;

示例:使用SOL语句删除表student

删除表后,MySQL服务实例会自动删除表定义文件,以及数据、索引等

P4 1.3 表结构的管理(一)~1

MySQL只要支持5种整数类型: tinyint、smallint、mediumint、int和bigint

可以使用关键字“unsigned”对整数类型进行修饰(无符号)

取值范围:

tinyint 1字节

smallint 2 字节

mediumint 3 字节

int 4 字节

bigint 8 字节

小数类型

精确小数类型

decimal(length, precision)

length决定了该小数的最大位数

precision用于设置精度( 小数点后数字的位数 )

例如 : decimal(5,2)

浮点数类型

单精度浮点型 float 4字节

双精度浮点型 double 8字节

例如,定义工资字段salary,可以用 salary float unsigned

其中,unsigned用于约束工资不能为负数。

字符串类型

定长字符串: char(n)

最多容纳字符数: 255

变长字符串: varchar(n)

n的取值和字符集有关

示例

在表student中的student_name列的定义如下:

表示student_name列中最多可存储长度为10的字符串。

日期时间类型

date

3个字节

取值范围:‘1000-01-01'~’9999-12-31‘

格式:YYYY-MM-DD

datetime

8个字节

取值范围:'1000-01-01 00:00:00'~*9999-12-31 23:59:59

格式:YYYY-MM-DD hh:mm:ss

time

取值范围 :'-838:59:59' to838:59:59

格式:"hh:mm:ss' 或"hhh:mm:ss

创建表

语法约束

约束类型

主键约束 primary key 用标记唯一

非空约束 not null 创建数据不能为空

默认约束 default 创建时会有默认值

唯一约束 unique

外键约束 foreign key、references

1、主键约束 primary key(记得用括号包裹!)

`` 测试

单一字段作主键

直接在该字段的数据类型或者其他约束条件后加上关键字primary key

语法字段名 数据类型[其他约束条件]  primary key

例如,将学生表student的student_no字段设置为主键,SQL语句如下

P5 1.3 表结构的管理(一)~2

多个字段组合作主键

如果想要创建多个字段组合起来作为组件,就要使用复合组件。

实际上就是在定义完所有字段后,加上逗号,另起一行然后加上去。

语法规则 :

例如,将(t1,t2)组合你test表的主键

约束实施

非空约束

》语法规则

直接在该字段的数据类型后加上关键字not null,语法o字段名 数据类型 not null

>示例

将学生表student的student_name字段设置为非空约束,SQL语句如下

这里 stu_no 是 primary key,所以 Null 是 No;stu_name 做了设置,所以 Null 是 No

`` 测试

默认值约束

语法

。直接在该字段的数据类型及约束条件后加上”default 默认值”即可,语法:

>示例

·将课程表course的status字段设置为默认值约束,且默认值为'未审核’,SQL语句如下:

将课程表course的up limit字段设置为默认值约束,且默认值为整数60,SQL语句如下:

如何使用默认值呢?

1、直接用不带单引导的 default 填充!

2、前置声明

唯一约束

》 语法

直接在该字段的数据类型后加上关键字unique

字段名 数据类型 unique

》如果某个字段存在多种约束条件,约束条件的顺序是随意的

》示例

将班级表classes的class_name字段设置为非空约束以及唯一性约束,就是可以为空。SQL语句如下

或者

下面跑一下

输入内容如下,可以发现unique成功了。

unique和primary key的区别在于,unique是允许为空值的,且可以有多个。

注意,多个空值在数据库中不是相等的概念,它可以是未定义,也可以是什么值都不是。即“空值等于空值”这个概念是错误的,这也就不会和unique1冲突了

未完待续,学习进度(5/42)

X 关闭

推荐内容

最近更新

Copyright ©  2015-2022 华中办公网版权所有  备案号:京ICP备12018864号-26   联系邮箱:2 913 236 @qq.com