数据库(MySQL)——Day1(数据库初识)

本文介绍了数据库的基础概念,包括数据库的分类、结构及主要功能,并深入探讨了关系型数据库管理系统MySQL的学习要点,涵盖数据类型、数据约束及基本的SQL操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数据库的基本认识 

1. 为什么要有数据库?什么是数据库?

2. 关于数据库的大体分类

(1)分类1:

A. 网络模型数据库
B. 关系模型数据库(Relation Database Service RDS)
C.图形数据库
(2)分类2:

A. 存储于硬盘上的(持久化存储)
B. 存储于内存上

(3)分类3: 

A.功能的实现
B.统计分析(其中大数据方向就是该类数据库的一个分支)

3. 重点学习的为关系型数据库管理系统的使用(MySQL)

(1)下列提到的左侧为关系型数据库管理系统,右侧为No-SQL和大数据方向的数据库管理系统


(2)具体学习内容:

A. 重点学习SQL

B. SQL中重点学习记录的CURD操作

4. MySQL软件的架构

A. 结构:用户通过客户端向服务端提供指令;服务端执行指令的结果通过客户端返回给用户

B. MySQL的服务器程序: 

 C. 两个不同的MySQL客户端程序

a. MySQL自带的客户端程序: mysql.exe

注:实际上使用命令行的形式就已经能够实现MySQL的功能了,但是对初学者不太友好因此使用后面的图形化界面的客户端程序

b. MySQL Workbench.exe

 二、数据库的初识

1. MySQL的链接

2.  一些概念

(1)schema : 一个数据库: 数据组织的一级单位

(2)table :表

A. 表包括行(记录)和列(字段)

B. 创建表和插入记录和创建对象和实例化对象类似

注意:通常情况下,一个应用对应一个数据库的数据

3. 结构的处理(SQL方式了解,重点是图形化界面的操作)

(1) 如何创建一个库

A. SQL

注意1:关于库的名称的命名规则:

注意2:workbench中两种执行SQL的方式。前者是执行选中行的SQL语句,后者是执行光标所在的语句

B. 图形化界面

a. 右键点击下图create scheme按钮

b. 填写名称

c. apply和finish即可

(2) 如何创建一个表

A. 创建表需要注意的点

B. SQL:

create table `库名称`.·表名称`(

         `字段1名称` 数据类型 存储约束;

        ..... 

        primary key(`主键字段名称`)

)comment = "...";

C. 图形化界面

a. 在一个库下的table点击右键

b. 填写表的名称,字段,以及注释。然后点击右下角的apply即可

D. 补充知识:如何选择默认库

a. 选择需要设置为默认库的库,右键选择设置默认库的英文

b. 双击需要设置为默认库的库

(3) 如何销毁一个库

A. SQL

 B. 图形化界面

右键选中一个待删除的库——>选择Drop Schema——>选择Drop now即可

(4) 如何销毁一个表

图形化, 选中某个库下的某个表,右键选择删除表的英文,Drop now即可

4. 关于数据类型

(1)代表数字的类型

 

(2)代表字符串的类型

 注意:这里的字表示的是字符集编码的字

 (3)关于日期/时间相关的

5. 数据约束类型

 (1)主键:

A. 概念

B. 实践中的用法:

(2)自增约束:

 注意:

 (3)NOT NULL约束

A. 关于NULL的理解:

B. NOT NULL约束:

 C. 如果没有勾选NOT NULL约束:

D. 图形化界面的位置

 

E. 补充知识:默认值(缺省值) 

a. 存在默认值。这个优先于允许为null

b. AI

c. 允许为null

(4) 唯一键

A. 概念

注意:和主键的区别:主键是天生not null但是唯一键是默认情况可以为null的

B. 图形化界面位置

 6. 其他辅助操作(主要是用于命令行客户端,图形化界面不需要直接直观显示)(了解)

A. 查看目前MySQL服务中有哪些库

show databases

B. 设置默认库

use 库名;

C. 查看当前的默认库

select database()

D. 处于一个默认库下时,查看该默认库下有哪些表

show table;

E. 查看一些表的结构

a. desc 表名 //描述表的字段信息

b. 显示建表语句

show create table 表名\G

c. 图形化界面(图形化可以点击表然后右键选择Create Statement)即将创建表时候的语句放在粘贴板上

7.  SQL分类

 三、SQL中的DML

0. SQL基础知识:

(1)SQL以分号" ; "结尾

(2)数据类型使用

A. 数字:直接写,例如1 ; 1.0;

B. 字符串类型:单引号或者双引号括起来,此处为了和java保持一致,之后就统统使用双引号

注意:反引号 ` ` :

C. 时间类型:写成固定规格的字符串

a. 日期:“年-月-日”

b. 时间:“时-分-秒”

c. 日期时间:“年-月-日 时-分-秒”

D. NULL类型:直接写null /NULL

(3)注释:-- 开头的是注释

1. 插入规则

(1)插入的时候必须每个字段都有值,除非有些字段有默认值,则可以省略这些字段(当然也可以不省略)。否则报错,如图

(2)插入的表必须是默认库下的表​​​​​​​

(3)表类似于一个set集合,如果插入已经存在的一模一样的记录(所有字段的值都相同,或者唯一键的值相同),就会报错,如下图例子:name是唯一键,因此报错

 引出另外一个问题:如果再次添加记录,会发现id 2因为上面的错误插入被消耗了,因此自增只能保证单调递增

(4)不满足 not null约束,报错

(5)不满足数据类型,报错

(6)插入规则总结:

注意:当使用默认的字符集编码的时候,不能使用中文,插入中文就会报错

(7)语法: 

insert into 表名 (字段1,字段2...) values  (记录1) (记录2) (....);

其中每个记录的扩号内需要填写字段的值,每个值用逗号相隔,和前面的字段顺序一一对应

(8)全字段插入的点:

(9)实例

2. 基本查询规则

3. 更新规则

4. 删除规则

 

 

 

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值