MySQL——数据库介绍(理论篇)
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,数据库的基本概念数据:描述事物的符号记录称为数据(Data)包括数字,文字,图形,图像,声音,档案记录等以"记录"形式按统一的格式进行存储表:将不同的记录组织在一起,就形成了"表"是用来存储具体数据的
千家信息网最后更新 2024年11月22日MySQL——数据库介绍(理论篇)
数据库的基本概念
数据:
描述事物的符号记录称为数据(Data)包括数字,文字,图形,图像,声音,档案记录等以"记录"形式按统一的格式进行存储
表:
将不同的记录组织在一起,就形成了"表"是用来存储具体数据的
数据库:
数据库就是表的集合,是存储数据的仓库以一定的组织方式存储的相互有关的数据
当今主流数据库介绍
SQL_Server(微软公司) 面向Windows操作系统 简单,易用Oracle(甲骨文公司产品) 面向所有主流平台 安全,完善,操作复杂DB2(IBM公司产品) 面向所有主流平台 大型,安全,完善MySQL(甲骨文公司收购) 免费,开源,体积小
关系数据库
关系数据库系统是基于关系模型的数据库系统,它的基本概念来自于关系模型
关系模型建立在关系代数的理论基础上,数据结构使用简单易懂的二维数据表,可以用简单"实体-关系"(E-R)图来直接表示
E-R图中包含了实体(数据对象),关系和属性三个要素
实体:
也称为实例,对应现实世界中可区别于其他对象的"事件"或"事物",如银行客户,银行账户等
属性:
实体所具有的某一特性,一个实体可以有多个属性。例如"银行客户"实体集中的每个实体均具有姓名,地址,电话等属性
联系:
实体集之间的对应关系成为联系,也称为关系。例如,银行客户和银行账户之间存在"储蓄"的关系
所有实体及实体之间联系的集合构成一个关系数据库
关系数据库理解
关系数据库的存储结构是二维表格,反映事物及其联系的数据是以表格形式保存的在每个二维表中,每一行称为一条记录,用来描述一个对象的信息;每一列称为一个字段,用来描述对象的一个属性
非关系数据库介绍
非关系数据库也被称作NoSQL(Not Only SQL),存储数据不以关系模型为依据,不需要固定的表格式
非关系型数据库作为关系数据库的一个补充,在日益快速发展的网站时代,发挥着高效率与高性能
非关系型数据库的优点:
数据库高并发读写的需求
对海量数据高效率存储与访问
数据库的高扩展性与高可用性的需求
非关系型数据库存储方式
键-值方式(key-value),以键为依据存储,删,改数据列存储(Column-oriented),将相关的数据存储在列族中文档的方式,数据库由一系列数据项组成,每个数据项都有名称与对应的值图形方式,实体为顶点,关系为边,数据保存为一个图形
非关系数据库产品
Memcached是一个开源的,高性能的,具有分布式内存对象的缓存系统,以key-value方式存储数据 缓存数据以减轻数据库压力并能加快访问速度 加速动态web应用 缓存的内容保存在内存中Redis也是一个以key-value方式存储数据的,数据也是保存在内存中,但会定期将数据写入磁盘中 相对于Mencached有以下特点: 支持内存缓存 支持持久化 数据类型更多 支持群集,分布式 支持队列 Redis应用举例: 数据库前端缓存 session共享 当需要缓存除了key/value之外的更多数据类型时 当缓存的数据需要长久保存时
MySQL数据库介绍
MySQL是一款深受欢迎的开源关系型数据库Oracle旗下的产品遵守了GPL协议,可以免费试用与修改 特点: 性能卓越,服务稳定 开源,无版权限制,成本低 多线程,多用户 基于C/S(客户端/服务器)架构 安全可靠
数据库的基本操作命令
查看数据库列表信息
[root@localhost ~]# mysql -uroot -p ##进入数据库Enter password: ...mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+4 rows in set (0.00 sec)
查看数据库中的数据表信息
mysql> use mysql; ##使用数据库Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> show tables; ##查看库中的表+---------------------------+| Tables_in_mysql |+---------------------------+| columns_priv || db
显示数据表的结构(字段)
mysql> desc user; ##显示数据表的结构+------------------------+-----------------------------------+------+-----+-----------------------+-------+| Field | Type | Null | Key | Default | Extra |+------------------------+-----------------------------------+------+-----+-----------------------+-------+| Host | char(60) | NO | PRI | | || User | char(10) | NO | PRI |
二分查找
以一个数据为参考,比它小的放左边,比它大的放右边
SQL语句概述
SQL语言
是Structured Query Language的缩写,即结构化查询语言是关系型数据库的标准语言用于维护管理数据库,如数据查询,数据更新,访问控制,对象管理等功能
SQL分类
DDL:数据定义语言DML:数据操纵语言DQL:数据查询语言DCL:数据控制语言
DDL语句操作
DDL语句用于创建数据库对象,如库,表,索引等
使用DDL语句新建库,表
mysql> create database test; ##创建数据库Query OK, 1 row affected (0.00 sec)mysql> use test; ##使用数据库Database changedmysql> create table info( ##创建表 -> ID int(3) not null, -> 姓名 varchar(5) not null, -> 住址 varchar(10) not null, -> 分数 decimal default 0, -> primary key (ID));mysql> desc info; ##查看表结构+--------+---------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------+---------------+------+-----+---------+-------+| ID | int(3) | NO | PRI | NULL | || 姓名 | varchar(5) | NO | | NULL | || 住址 | varchar(10) | NO | | NULL | || 分数 | decimal(10,0) | YES | | 0 | |+--------+---------------+------+-----+---------+-------+4 rows in set (0.01 sec)
DML语句操作
向数据表中插入新的数据记录
mysql> insert into info values (1,'周几轮','南京',80); ##表中插入数据Query OK, 1 row affected (0.00 sec)mysql> insert into info values (2,'王峰','南京',0);Query OK, 1 row affected (0.00 sec)mysql> insert into info values (3,'娜英','北京',default);Query OK, 1 row affected (0.01 sec)
修改,更新数据库表中的数据记录
mysql> update info set 住址='上海' where ID=1; ##修改表中数据Query OK, 1 row affected (0.01 sec)Rows matched: 1 Changed: 1 Warnings: 0
在数据表中删除指定的数据记录
mysql> delete from info where ID=2; ##删除表中指定数据记录Query OK, 1 row affected (0.00 sec)mysql> select * from info; ##查看表内容(DQL语句)+----+-----------+--------+--------+| ID | 姓名 | 住址 | 分数 |+----+-----------+--------+--------+| 1 | 周几轮 | 上海 | 80 || 3 | 娜英 | 北京 | 0 |+----+-----------+--------+--------+2 rows in set (0.00 sec)mysql> drop table info; ##删除表Query OK, 0 rows affected (0.00 sec)mysql> show tables; ##查看表Empty set (0.00 sec)mysql> drop database test; ##删除库Query OK, 0 rows affected (0.00 sec)mysql> show databases; ##查看库+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+4 rows in set (0.00 sec)
DQL语句操作
DQL是数据查询语句,只有一条:select
用于从数据表中查找符合条件的数据记录
查询时可不指定条件
mysql> select * from info; ##查看表内容+----+-----------+--------+--------+| ID | 姓名 | 住址 | 分数 |+----+-----------+--------+--------+| 1 | 周几轮 | 上海 | 80 || 3 | 娜英 | 北京 | 0 |+----+-----------+--------+--------+2 rows in set (0.00 sec)
查询时指定条件
mysql> select 住址 from info where 住址='北京'; ##查看指定条件+--------+| 住址 |+--------+| 北京 |+--------+1 row in set (0.00 sec)
DCL语言操作
##设置用户权限(用户不存在时,则新建用户)mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123';Query OK, 0 rows affected, 1 warning (0.00 sec)##查看用户的权限mysql> show grants for 'root'@'%';+-------------------------------------------+| Grants for root@% |+-------------------------------------------+| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' |+-------------------------------------------+1 row in set (0.00 sec)##撤销用户的权限mysql> revoke all on *.* from 'root'@'%';Query OK, 0 rows affected (0.00 sec)
谢谢阅读!
数据
数据库
存储
实体
住址
语句
语言
对象
数据表
方式
缓存
用户
结构
查询
姓名
属性
银行
北京
产品
内存
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
浦东新区智能网络技术质量保证
知道创宇网络安全
数据库一个ip可以连几次
网络安全防范意识记心间
厦门网络技术人员工资
棋牌软件开发手机
夕阳滤镜软件开发
python导出爬虫数据库
前端服务器设计教程
大同租房网络安全
我的世界pe服务器管理面板
数据库安全性是指相容性
金融科技互联网公司
绩溪专业软件开发服务有几种
轨迹球鼠标适合做软件开发吗
微商软件开发商家
鸿洋数据库框架
网络安全法信息外露
mssql 导入数据库
有关民国的数据库
服务器热重启和冷重启
神泣服务器架设后怎么登录游戏
hcia网络技术专业考题
vmware搭建服务器
内蒙古潮流软件开发
微信语音软件开发是谁
我的世界服务器旁边的边框指令
replace数据库用法
上海大规模网络技术代理品牌
d2数据库