本文主要是介绍数据库与MySQL,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数据库
什么是数据?data
描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机
数据库的概念 DataBase,简称DB
数据库,即存放数据的仓库
1:是长期存放在计算机内、有组织、可共享的数据集合。
2:是一个可以在一台机器上独立工作的,并且可以给我们提供高效便捷处理数据增删改查的方式的一种工具。
3:数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享
数据库的优势
1.程序稳定性:任意一台服务的机器崩溃了都不会影响数据和其他的服务
2.数据一致性:所有的数据都存放在一起,增删改查也是一起操作的,所有的数据操作都是统一的,所以不会出现数据错乱的现象。
3.并发:数据库可以支持良好的并发,所有的程序操作数据库都是通过网络,而数据库本身支持并发的操作,不需要我们额外写代码
4.效率:使用数据库对数据增删改查的效率要比我们操作文件要高的多
什么是数据库管理系统,简称DBMS
科学的组织和存储数据,高效的获取和维护数据
常见数据管理系统:MySQL、Oracle、SQLite、Access、MS SQL Server
mysql主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,他现在是甲骨文公司的产品。
oracle主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品。
sql server是微软公司的产品,主要应用于大中型企业,如联想、方正等。
数据库的组成部分
数据库服务器-:运行数据库管理软件 (计算机)
数据库管理软件:管理-数据库 (例如mysql)
数据库:即文件夹,用来组织文件/表 (db)
表:即文件,用来存放多行内容/多条记录 (文件内容 )
数据库管理技术的发展历程
1.人工管理阶段
有以下特点:
- 数据不保存 :数据临时用,临时输入,不保存
- 应用程序管理数据 :数据要有应用程序自己管理 开发负担重
- 数据不共享 :一组数据只对应一个程序,多个程序之间需自定义数据
- 数据不具有独立性 : 数据的逻辑结构或物理结构发生变化后,必须对应用程 序做出相应的修改,开发负担进一步加大
------------
2.文件系统阶段
有以下特点:
- 数据可以长期保存:
- 由文件系统管理数据:
- 数据共享性差:
- 数据独立性差:
------------
3.数据系统阶段
数据库系统的特点:
- 数据结构化
- 数据共享,冗余度低,易扩充
- 数据独立性高
- 数据由DBMS统一管理和控制:
1.数据的安全性保护
2.数据的完整性检查
3.并发控制
4.数据库恢复
数据库的分类
1.关系型数据库:
1.数据的组织方式有明确的表结构
2.表与表之间可以建立数据库层面的关系
* 关系型数据库:
MySQL、PostgreSQL、MariaDB、Oracle、sqlite、db2、sql server
MySQL:开源 使用最为广泛 数据库学习必学
PostgreSQL:开源 支持二次开发
MariaDB:开源 与MySQL是同一个作者 用法也极其相似
Oracle:收费 安全性极高 主要用于银行及各大重要机关
sqlite:小型数据库 主要用于本地测试(django框架自带该数据库)
2.非关系型数据库
1.数据的组织方式没有明确的表结构 是以k:v键值对的形式组织的
2.数据之间无法直接建立数据库层面的关系
* 非关系型数据库:
redis、mongoDB、memcache
redis:目前最火 使用频率最高的缓存型数据库
mongoDB:稳定型数据库 最像关系型的非关系型 主要用于爬虫、大数据
memcache:已经被redis淘汰
SQL与NOSQL
数据库的服务端支持各种语言充当客户端:
为了兼容所有类型的客户端,有两种策略:
1.服务端兼容: 不合理 容易消耗数据库服务端资源
2.指定统一标准 : SQL语句和NoSQL语句
SQL语句的意思是操作关系型数据库的语法
NoSQL语句的意思操作非关系型数据库的语法
ps:SQL有时候也用来表示关系型数据库 NoSQL也用来表示非关系型数据库
MySQL数据库重要概念
库:文件夹 show databases 查看所有的数据库
表:文件 show tables 查看所有的表
记录:文件里的一行行数据 select * from mysql.user 查看user表里的所有记录
MySQL数据库针对库的SQL语句
1.增 create database 库名;
2.查看 show databases / show create database 库名
3.修改 alter database 库名 charset ‘gbj’ (修改库的字符编码)
4.删除 drop database 库名
查看当前所在的库名 :select database();
如果没有切换指定的库 那么默认是NULL
use 库名;
MySQL数据库针对表的基本SQL语句
1.增 create table 表名(字段名,字段类型,字段名,字段类型);
2.查
show tables;
show create table 表名;
describe 表名;
desc 表名;
3.改 alter table 旧表名 rename 新表名;
4.删 drop table 表名;
MySQL数据库针对记录的基本的SQL语句
1.增
insert into 表名 values(数据,数据);
insert into 表名 values(数据,数据),(数据,数据),(数据,数据)
2.查看
select * from 表名;
select 字段1,字段2 from 表名;
ps:如果表中字段较多出现了错乱 可以结尾写\G
3.修改 update 表名 set 字段名=新数据 where 筛选条件;
4.删除
delete from 表名; (删除表中所有的数据)
delete from 表名 where 筛选条件 (按照条件删除数据)
这篇关于数据库与MySQL的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!