1. 数据
1) 概念
客观事物的符号表示。
2) 数据量庞大,介质
纸 u盘 硬盘 网盘
存储数据量越来越大,检索难度增高。
3) 数据库(Database)
按照一定数据结构存储数据的仓库。
4) 数据库管理系统(DBMS)
操纵和管理数据库的一套软件。
A. 关系型数据库管理系统(RDBMS)
采用关系模型管理数据。采用二维表格的形式来简化数据关系实现对数据的管理。
oracle数据库: oracle公司,大型分布式数据库管理系统。
大型企业,金融,传统企业,国企等. 产品免费,服务收费
mysql数据库: oracle公司,针对于中小型系统。
开源免费 (闭源风险)
互联网厂商
mariaDB数据库: mysql分支,社区维护。
5.5版本之前。
sql server: microsoft中小型企业。只运行于windows。
db2: ibm公司,中小型。
B. 非关系型的数据库管理系统(Nosql)
Not only sql
弥补关系型数据库在高io,高可用方面的局限性。
redis / hbase / mongodb / neo4j(图数据库)
2. Mysql
1) mysql初识
mysql是一个关系型的数据库管理系统。
mysql采用关系模型对数据采用分表的形式管理,对多张表存在情况下,可以采用分库的形式进行管理。
mysql数据库管理系统中可以管理多个数据库,在一个数据库中可以存放多张表。
mysql体积小,速度快,开源免费,支持GPL(开源软件许可证)协议。
1996年发布mysql1.0,mysql ab公司。
2000年正式开源。
2008年被sun以10亿美元收购。
2009年sun被oracle以74亿美元收购。
5) mysql的下载和安装
6) 配置
data dir:存放数据文件
Data:
每创建一个数据库就会创建相应的文件夹
frm保存表的结构信息
my.ini: mysql的配置文件
7) 客户端
workbeanch:mysql自带图形界面
命令行客户端:
登录/连接服务端: mysql -uroot -p密码
展示所有的数据库: show databases;
切换数据库: use dbname;
展示所有数据库表: show tables;
启动和关闭服务: net start|stop mysql
图形界面客户端:
navicat sqlyog等
主机映射文件: C:WindowsSystem32driversetchosts
表中每一行称为记录,每列名称称为字段。
3. sql
1) 什么是sql
structure query language:结构化查询语言。关系型数据库中进行操作标准语言。编程语言。
对大小写不敏感;结尾需要使用;。
8) sql分类
DDL: 数据定义语言(数据库对象的操作(结构))
create / alter /drop
DML: 数据操纵语言(数据操作 增删改查)
insert / update /delete /select
DCL: 数据控制语言(授权 取消授权)
grant / revoke
TCL: 事务控制语言
commit / rollback
9) ddl:数据定义语言
A. 数据库操作
#创建数据库 create database if not exists bd1807; #销毁数据库 drop database if exists bd1807; |
C. 数据库表操作(table)
数据库表(表):采用二维表格形式管理数据。
#创建表 create table userinfo( uid int, uname varchar(20), gender varchar(10) ); #追加 alter table userinfo add qq varchar(20); #添加到首位 alter table userinfo add wechat varchar(20) first; #添加到uid之后 alter table userinfo add renren varchar(20) after uid; # 表结构修改(添加字段add 修改字段名称,类型修改,位置(change/modify) 销毁字段 drop) #追加 alter table userinfo add qq varchar(20); #添加到首位 alter table userinfo add wechat varchar(20) first; #添加到uid之后 alter table userinfo add renren varchar(20) after uid; #删除字段 alter table userinfo drop renren; alter table userinfo drop wechat; #字段修改 #修改字段名称 qq -> t_qq #modify 字段名称 类型 约束 #change 旧字段 新字段名称 类型 约束 alter table userinfo change qq t_qq varchar(20); #修改字段类型 alter table userinfo change t_qq t_qq varchar(10); alter table userinfo modify t_qq varchar(20); #修改字段位置 alter table userinfo modify t_qq varchar(20) after birthday; #表名称修改 rename table userinfo to user; #表销毁 drop table `user`; #清空表 TRUNCATE table userinfo; |
数据类型:
数值类型:
int 4个字节 21亿
浮点数:
float(m,n):m总长度 n小数点位数 (默认值10,2)
精度24位
double(m,n): 默认值16,4
精度53位
decimal(m,n):经常用于金融数据保存,必须声明长度和精度
字符串类型:
char(n):定长长度字符串
varchar(n):可变长度字符串
text: 大文本
日期类型:
date: 日期 YYYY-MM-DD
time: 时间 HH:MM:SS
datetime: 日期时间 YYYY-MM-DD HH:MM:SS
1000-01-01 00:00:00 – 9999-12-31 23:59:59
timestamp:时间戳 YYYYMMSSHHMMSS
1970-01 – 2037-12
year:年
其他类型:
blob: 存放二进制数据
enum: 枚举
set:集合类型
json: json数据