MySql教程

数据库与MySQL

本文主要是介绍数据库与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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!