数据库
什么是数据(Data)
描述事物的符号记录称为数据。
描述事物的符号既可以是数字,也可以是文字、图片、图像、声音、语言等,数据有多种表现形式,它们都可以经过数字化后存入计算机
在计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,相当于文件里的一行内容,如:
1 eagon,male,18,1999,山东,计算机系,2017,oldboy
单纯的一条记录并没有任何意义,如果我们按逗号分隔,依次定义各个字段的意思,相当于定义表的标题
1 name,sex,age,birth,born_addr,major,entrance_time,school # 字段
2 egon,male,18,1999,山东,计算机系,2017,oldboy # 记录
什么是数据库(DataBase,简称DB)
数据库即存放数据的仓库。
只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的
数据库是长期存放在计算机内、有组织、可共享的数据即可。
什么是数据酷管理系统(DBMS)
为了科学地组织和存储数据,和高效获取和维护数据,用到了一个系统软件---数据库管理系统
如MySQL、Oracle、SQLite、Access、MS SQL Server
mysql:搜狗、新浪等
特点:开放源代码,免费,现在是oracle甲骨文公司产品
oracle:银行、铁路、飞机场等
特点:功能强大,软件费用高。
sql server:微软公司的产品,主要应用于大中型企业,如联想、方正等
数据库服务器、数据管理系统、数据表、表与记录的关系
记录:1 周志鑫 401725259 23 (多个字段的信息组成一条记录,即文件中的一行内容)
表:student,school,class_list(即文件)
数据库:oldboy_stu(即文件夹)
数据库管理系统:一台计算机(对内存要求比较高)
总结:
数据库服务器: 运行数据库管理软件
数据库管理软件:管理数据库
数据库:即文件夹,用来组织文件/表
表:即文件,用来存放多行内容/多条记录
Mysql介绍
MySQL
是一个关系型数据库管理系统。
Mysql是什么
# mysql就是一个基于socket编写的C/S架构的软件
# 客户端软件
mysql自带:如mysql命令,mysqldump命令等
python模块:如pymysql
数据库管理软件分类
# 分两大类:
关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
非关系型:mongodb,redis,memcache
# 可以简单的理解为:
关系型数据库需要有表结构
非关系型数据库是key-value存储的,没有表结构
Mysql的架构
类似于 socket的客户端和服务端
流程:
-
Mysql
服务端先启动,监听在某一个特定的端口(3306) -
Mysql
客户端连接服务端 -
Mysql
客户端就可以发送相关的操作命令,去操作服务端存储的数据
Mysql
常用参数
-u : user 用户名
-p : password 密码
-h : host 主机名或ip mysql -uroot -p -h 192.168.1.10
-P : port 默认是3306 mysql -uroot -p -h 192.168.1.10 -P 3306
系统数据库
information_schema
: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等
performance_schema
: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象
mysql
: 授权库,主要存储系统用户的权限信息
test
:MySQL数据库系统自动创建的测试数据库
创建数据库
语法:create database 数据库名 charset utf8;
数据库命名规则:
可以由字母、数字、下划线、@、#、
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
最长128位
数据库相关操作
1 查看数据库
show databases;
show create database db1;
select database();
2 选择数据库
USE 数据库名
3 删除数据库
DROP DATABASE 数据库名;
4 修改数据库
alter database db1 charset utf8;