1. 数据库介绍
数据库就是储存和管理数据的仓库, 数据按照一定的格式进行存储, 用户可以对数据库中的数据进行, 增删改查
2. 数据库分类
- 关系型数据库: 采用了关系模型来值数据的数据库, 简单来说, 关系模型指的就是二维表格模型, 好比 Excel 文件中的表格, 强调使用表格的方式进行存储.
- 非关系型数据库: 又称为 NoSQL (Not Only SQL), 意为不仅仅是SQL, 对 NoSQL 最普遍的定义时"非关联性的", 强调 Key-Value 的方式进行存储数据.
常用的关系型数据库:
-
Oracle
-
Mrcrosoft SQL Server
-
MySQL
-
SQLite
常用的非关系型数据库: -
MongoDB
-
Redis
关系型数据库中的核心元素:
- 数据行
- 数据列
- 数据表
- 数据库(数据表的集合)
3. 数据库的作用
数据库的作用就是存储和管理数据的, 比如:我们在京东上浏览的商品列表数据, 这些数据都会存储在数据库中.
4. 数据库的特点
- 持久化存储
- 读写速度极高
- 保证数据的有效性
5. MySQL 数据库
今天的大哥来啦
MySQl的特点:
- MySQL 是开源的
- MySQL 致辞大型的数据库, 可以处理拥有上千条记录的大型数据库
- MySQL 使用标准的 SQL 数据形式
- MySQL 可以安装在不同的操作系统, 并且提供多种编程语言的接口
6. 在 Ubuntu 中数据库的简单使用
MySQL 数据库服务端的安装
在Ubuntu中打开终端,输入命令:sudo apt-get install mysql-server
显示 MySQL 服务端安装包信息
在终端输入:apt-cache show mysql-server

查看 MySQL 服务效果图:
ps -aux | grep mysql
ps说明:
- ps 查看当前系统中的进程
- -a 表示所有用户
- -u 表示显示用户名
- -x 表示显示所有的执行程序

查看 MySQL 服务器状态
sudo service mysql status

== 停止 MySQL 服务==:
sudo service mysql stop
启动MySQL服务:
sudo service mysql start
== 重启 MySQL 服务==:
sudo service mysql restart
== MySQL 数据库客户端的安装==:
sudo apt-get install mysql-client
MySQL 命令的使用帮助:
mysql - -help
MySQL 客户端连接 MySQL服务端命令:
mysql -uroot -p
说明:
- -u 表示 MySQL服务端的用户名
- -p 表示 MySQL 服务端的密码
- quit 或者 exit 或者 ctrl +d 表示退出
7. 数据类型和约束
7.1 数据类型
数据类型是指在创建表的时候为表中字段自定数据类型, 只有数据符合数据类型要求才能存储起来, 使用数据类型的原则是,能够执行, 尽量使用取值范围小的, 而不用大的, 这样可以节省更多的空间.
常用的数据类型如下:
- 整数: int bit
- 小数: decimal
- 字符串: varchar char
- 日期时间: data, time, datatime
- 枚举类型: (enum)
数据类型的说明:
- decimal 表示浮点数, 如 decimal(5,2) 表示共存5位数, 小数占2位.
- char 表示固定长度的字符串, 如 char(3), 如果填充’ab时’会自动补一个空格"ab ",3表示字符数
- varchar 表示可变长度的字符串
- 对于图片,音频,视频等文件,不存储在数据库中,而是上传到某个服务器上, 然后在表中存储这个文件的保存路径
- 字符串 text 表示存储大文本, 当字符大于4000的时候使用, 就比如技术博客
7.2 数据约束
约束是指数据在数据类型限定的基础上额外增加的要求
常见的约束如下:
- 主键 primary key: 物理上存储的顺序, MySQL 建议所有的主键字段都叫 id, 类型为 int unsigned(递增的整数)
- 非空 not null: 此字段不允许填写空值
- 唯一 unique: 此字段的值不允许重复
- 默认 default: 当不填写字段对应的值会使用默认值, 如果填写时以填写为准
- 外键 foreign key: 对关系字段进行约束, 当为关系字段填写值时, 会到关联的表中查询此值是否存在, 如果存在则填写成功, 如果不存在则填写失败抛出异常.
7.3 数据类型的附录表
1.整数类型
| 类型 | 字节大小 | 有符号范围(Signed) | 无符号范围(Unsigned) |
|---|---|---|---|
| tinyint | 1 | -128~127 | 0~255 |
| smallint | 2 | -32768~32767 | 0~65535 |
| mediumint | 3 | -8388608~8388607 | 0~1677215 |
| int/integer | 4 | -2147483648~ 2147483647 | 0~4294967295 |
| bigint | 8 | -92233720368554775808~9223372036854775807 | 0~18446744073709551615 |
- 字符串
| 类型 | 说明 | 使用场景 |
|---|---|---|
| char | 固定长度,小型数据 | 身份证号、手机号、电话、密码 |
| varchar | 可变长度,小型数据 | 姓名、地址、品牌、型号 |
| text | 可变长度,字符个数大于 4000 | 存储小型文章或者新闻 |
| longtext | 可变长度, 极大型文本数据 | 存储极大型文本数据 |
- 时间类型
| 类型 | 字节大小 | 示例 |
|---|---|---|
| data | 4 | ‘2020-01-01’ |
| time | 3 | 12:29:59’ |
| datatime | 8 | ‘2020-01-01 12:29:59’ |
| year | 1 | ‘2017’ |
| timestamp | 4 | ‘1970-01-01 00:00:01’ UTC ~ ‘2038-01-01 00:00:01’ UTC |

本文介绍了数据库的基本概念,包括数据库的定义、分类及其在数据存储和管理中的作用。详细对比了关系型数据库与非关系型数据库的区别,并重点介绍了MySQL数据库的特性、安装及基本操作。同时,还探讨了数据类型和约束在数据库设计中的应用。
1万+

被折叠的 条评论
为什么被折叠?



