回顾:01 MySQL数据库环境搭建
1- Mysql服务端安装
公司:DBA管理员
1- 安装环境软件(WIN10系统一般都有这2个环境,可以不用安装)
net framework
visualc2015
2- 安装Mysql服务端
root用户设置密码
自定义添加一个用户yinuo
3- 安装Navicat客户端
2- 客户端Navicat安装
测试人员:
客户端,通过ip、username,pwd,port-3306
Navicat安装:
安装路径:C:\Program Files\PremiumSoft\Navicat 12 for MySQL
Navicat破解:
注意:断开网络,退出杀毒软件
今日内容:02 Mysql之数据库、表的sql命令
1- 数据库介绍
数据库(DB Database):按照一定数据结构存储数据的仓库
数据库管理系统(DBMS Database manager system):操纵和管理数据库的一套软件。
关系型数据库管理系统(RDBMS)relationship
采用关系模型管理数据。采用二维表格的形式来简化数据关系实现对数据的管理。
优点:
易于维护:都是使用表结构,格式一致;
使用方便:SQL语言通用,可用于复杂查询;
复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
固定的表结构,灵活度稍欠;
对于海量数据,高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
常见的系统有:Oracle/Mysql/SQL server/DB2/mariaDB等。
非关系型数据库管理系统(Nosql)not only sql
是一种数据结构化存储方法的集合,
文档型
key-value型 {"key":"value"}
列式数据库
图形数据库
弥补关系型数据库在高io,高可用方面的局限性
优点:
格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,应用场景广泛,
速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
高扩展性;成本低:nosql数据库部署简单,基本都是开源软件。
缺点:
不提供sql支持,学习和使用成本较高;
无事务处理;数据结构相对复杂,复杂查询方面稍欠。
常见系统有:
1)redis 主要做缓存用,可以快速的建立缓存
2)hbase 列族数据库
3)mongodb 主要做文档型的数据库
4)neo4j 主要做图数据库,在社交网络这一块运用比较广
Mysql的初识:
Mysql是一个关系型数据库管理系统。
Mysql采用关系模型对数据进行管理,采用分表的形式管理,对多张表存在情况下,
可以采用分库(多个数据库)的形式进行管理
Mysql数据库管理系统中可以管理多个数据库,在一个数据库中可以存放多张表。
ps :oracle 只有一个数据库,多库的形式叫做表空间
Mysql特点:
体积小,速度快,开源免费
2- SQL的分类及命令 (sql 语言,脚本,命令)
Structure Query Language结构化查询语言。关系型数据库中进行操作的标准语言。
特点:
对大小写不敏感 SELECT Select select ==>都是同一个内容,
包括数据库名称,表的名称
结尾要使用分号;
什么叫ddl,dml?
分类:
DDL:数据定义语言(数据库对象的操作(结构))
数据库对象:数据库、表、视图、索引等
create / alter / drop
DML:数据操纵语言(对数据库对象中的数据的操作 增删改查)
insert / update / delete / select
DCL:数据控制语言(授权 取消授权) root(最大权限)
grant / revoke
TCL:事务控制语言(对事务的控制)transaction
commit / rollback
ps:mysql /sql server 自动commit,oracle需要每次主动提交
3- 数据库与表的操作
数据库:
创建数据库:create database 数据库名;
销毁数据库:drop database 数据库名;
表:
数据库表(表),最常见的数据库对象。
采用二维表格(行和列)的形式来管理数据创建数据库
注册方式:
id:必须填整数
name:3个中文、4个中文 1个中文是2个字符长度
phone:字符组成(+86)
addr:字符组成
提交
案例:学生信息
id name phone addr birth
001 zs 1301 岳麓区
002 ls 1302 雨花区
...
创建表语法:
create table 表名(
字段1 类型 [约束], id int
字段2 类型 [约束],
........
);
mysql常用的数据类型:
数值类型
int(整数)、 4个字节
float(浮点数单精度,小数点7位有效位)、 4个字节
double(浮点数双精度。小数点后15位有效位)、 8个字节
字符串类型 1个中文是2个字符长度
char(定长字符串)、
varchar(变长字符串)、
text(长文本)等
日期类型
date(年月日YYYY-MM-DD)、 3个字节
time(时分秒HH:MM:SS)、 3个字节
datetime(年月日时分秒YYYY-MM-DD HH:MM:SS)、8个字节
timestamp(时间戳)、 4个字节
year(YYYY)等 1个字节
表结构修改包括:
添加字段(add) :
alter table 表名 add 字段名 类型 约束;
修改字段名称,类型,位置(change/modify) :
alter table 表名 change/modify 字段名 类型 约束;
销毁字段(drop):
alter table 表名 drop 字段名;
语法:alter table 表名 add | change/modify | drop 字段名 类型 约束;
语法:rename table 旧表名 to 新表名;
FIRST:表示字段添加到第一位
AFTER 字段名:表示添加到某个字段自后
first和after只适用于add
表删除(表销毁):
drop table 表名;