Linux应用开发————mysql数据库

数据库概述

什么是数据库(database)?

数据库是一种数据管理的管理软件,它的作用是为了有效管理数据,形成一个尽可能无几余的数据集合,并能提供接口,方便用户使用。

数据库能用来干什么?

顾名思义,仓库就是用来保存东西的,所以数据库的作用就是保存、管理数据。

数据库的核心

数据库管理系统提供很多的功能,可以通过SQL(结构化查询语言)来定义和操作数据,维护数据的完整性和安全性,以及进行各种数据库管理。

mysql数据管理层级

SQL(结构化查询语句)

mysql数据库基本操作

1.登陆

cs 复制代码
mysql -h [主机名或IP]-u [用户]-p

2.退出

cs 复制代码
exit;或者 quit;

3.显示

cs 复制代码
show databases;

4.选择数据库

cs 复制代码
use 数据库名

5.创建

cs 复制代码
create database (可选)[if not exists] 数据库名

数据库命名规则:

必须是合法的名称,不能同名;名称可以由任意字母,数字,"或"$"组成,可以用上述任意字符开头,但是不能全部为数字长度限制 -数据库,表,列,索引最多由64个字符组成,不能使用mysql 的关键字作为数据库名或表名。

6.删除

cs 复制代码
drop database (可选)[if exists] 数据库名

mysql数据类型

1.数值型

|-----------|----|---------------------|---------------|-------|
| 类型 | 字节 | 范围(有符号) | 范围(有符号) | 说明 |
| TINYINT | 1 | (-128--127) | (0--255) | 小整数型 |
| SAMLLINT | 2 | (-32768--32767) | (0--65535) | 大整数型 |
| MEDIUMINT | 3 | (-8388608--8388607) | (0--16777215) | 大整数型 |
| INT | 4 | ...... | ...... | 大整数型 |
| BIGINT | 8 | ...... | ...... | 极大整数型 |
| FLOAT | 4 | ...... | ...... | 浮点数 |
| DOUBLE | 8 | ...... | ...... | 双精度 |

2.字符串型

|------------|---------------|-----------------|
| 类型 | 字节 | 说明 |
| CHAR | 0~255 | 定长字符串 |
| VARCHAR | 0~255 | 不定长字符串 |
| TINYBLOB | 0~255 | 不超过255字符的二进制字符串 |
| TINYTEXT | 0~255 | 短文本字符串 |
| BLOB | 0~65535 | 二进制形式的长文本数据 |
| TEXT | 0~65535 | 长文本数据 |
| MEDIUMBLOB | 0~16777215 | 二进制形式的中等长度文本数据 |
| MEDIUMTEXT | 0~16777215 | 中等长度文本数据 |
| LONGBLOB | 0~4294967295 | 二进制形式的极大文本数据 |
| LONGTEXT | 0~4294967295 | 极大文本数据 |

3.时间日期型

|-----------|----|------------------------------------------|---------------------|--------------|
| 类型 | 字节 | 范围 | 格式 | 说明 |
| DATE | 3 | 1000-01-01 /9999-12-31 | YYYY-MM-DD | 日期型 |
| TIME | 3 | -838:59:59 /838:59:59 | HH:MM:SS | 时间值或持续时间 |
| YEAR | 1 | 1901/2155 | YYYY | 年份值 |
| DATETIME | 8 | 1000-01-01 00:00:00 /9999-12-21 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
| TIMESTAMP | 8 | 1970-01-01 00:00:00 /2037年某时 | YYYYMMDD HHMMSS | 混合日期和时间值 时间戳 |

六大约束条件:

1.主键(primary key) 唯一区分一条记录

2.唯一约束 (unique key) 设置唯一约束的字段不允许数据重复

3.非空约束 (not null) 设置非空约束的字段不允许填入 NULL

4.自增约束 (auto_increment) 设置自增约束的字段值会自动增1 (数值型中整型)

5.外键 (foreign key) 父,子表用来在两个表的数据间建立链接,既能确保数据完

整性,也能表现表之间的关系

6.默认约束 (default) 设置默认约束的字段如果不指定数据,系统将以默认值填入;

注意(关于级联):

1,多对多需要涉及最少三张表---中间表

  1. 建立了外键后:

从表修改时,要注意主表是否有这样的值。

主表在修改或删除时,要不要动从表:

要动:配置级联修改, 级联删除

不动:无需配置级联修改, 级联删除

相关推荐
岁岁种桃花儿29 分钟前
MySQL从入门到精通系列:InnoDB记录存储结构
数据库·mysql
jiunian_cn2 小时前
【Redis】hash数据类型相关指令
数据库·redis·哈希算法
冉冰学姐2 小时前
SSM在线影评网站平台82ap4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm框架·在线影评平台·影片分类
Exquisite.3 小时前
企业高性能web服务器(4)
运维·服务器·前端·网络·mysql
知识分享小能手3 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019数据库的操作(2)
数据库·学习·sqlserver
踩坑小念4 小时前
秒杀场景下如何处理redis扣除状态不一致问题
数据库·redis·分布式·缓存·秒杀
萧曵 丶5 小时前
MySQL 语句书写顺序与执行顺序对比速记表
数据库·mysql
Wiktok5 小时前
MySQL的常用数据类型
数据库·mysql
曹牧6 小时前
Oracle 表闪回(Flashback Table)
数据库·oracle
J_liaty6 小时前
Redis 超详细入门教程:从零基础到实战精通
数据库·redis·缓存