- JAVA开发 测试 运维 实施
- 掌握知识点:
- 1.建库建表
- 2.数据库查询语句
- 3.数据库表增删改语句
- 4.授权权限语句
- 5备份与恢复
- 6.存储过程
- 7.视图
- 8.窗口函数 mysql8.0仿照oracle开发出来的功能
- 9.分库分表
- oracle hql
- mysql
- sql server
- db2
- guass
- mysql:8。0,5.0 是目前主流的两个版本
- JDBC:java databases connection
- CDBC: c databases connection
- 数据库存储了一万条数据
- id 1-10000 循环比较了一万次
- id 1- 10000 把索引单独存放在一个文件里面
- 10000
- 数据库分为:mysql oracle
- 关系型数据库: 存放在文档里面
- 非关系数据库: membercached Redis,Mongodb 相当于key-value 非关系数据库存放在内存里面
- 途径:做缓存
- 后台 redis 数据库
- 第一个人:
- 查询展示所有商品信息
- 查询商品第一步先去redis查询,第二步去mysql数据库,第三步将数据添加到redis里面,第四步将数据返回给后台
- 第二个人:
- 第一步先去redis查询直接把redis里面查询的数据返回给后台调用者
- 数据库 后台
- big int long
- datetime LocalDatetime
- date LocalDate
- int int
- varchar String
- blob存放文本
- 数据库一个字段不建议放大数据
- 播放视频 放在服务器里面
- 数据库里面存放视频地址
- 数据库的定义(Database,简称DB)
- 概念:长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据的仓库
- 作用:保存,管理数据
- 什么是DBMS:
- 数据库管理系统:数据管理软件,科学组织和存储数据,高效地获取和维护数据
- MySQL
- 定义:是现流行的开源免费的关系型数据库
- 特点:
- 免费,开源数据库
- 小巧,功能齐全
- 使用便捷
- 可运行Windows或者Linux操作系统
- 可适用于中小型甚至大型网站应用
- SQLyog 管理工具
- 可手动操作,管理MySQL数据库的软件工具
- 特点:
- 易用
- 简洁
- 图形化
- 结构化查询语句分类
- DDL data swdinirion language 数据定义语言 CREATE DROP ALTER
- DCL date control language数据控制语言 GRANT COMMTT ROLLBACK
- g rant 赋权 root 超级管理员
- commit rollback 增删改有关
- DML date manipulation language数据操作语言 INSERT UPDATE DELETE tuncate 针对表的操作
- 插入 更新 删除
- DQL date query language 数据查询语言 SELECT
- 命令行操作数据库
- 创建数据库
- CREATE DATABASE [IF NOT EXISTS] 数据库名;
- 删除数据库
- DORP DATABASE [IF EXISTS] 数据库名;
- 查看数据库
- SHOW DATABASE;
- 使用数据库
- USE 数据库名;
- 工具建表
- 建表
- 显示表结构 desc表名
- 显示表创建语句
- show create table 表名
- 创建数据表
- 属于DDL一种
- CREATE TABLE [ IF NOT EXISTS ] `表名` (语法
- `字段名1` 列类型 [ 属性 ] [ 索引 ] [注释] ,
- `字段名2` 列类型 [ 属性 ] [ 索引 ] [注释] ,
- … …
- `字段名n` 列类型 [ 属性 ] [ 索引 ] [注释]
- ) [ 表类型 ] [ 表字符集 ] [注释] ;
- 注意点:反引号用于区别MySQL保留字与普通字符而引入的
- 列类型设置
- 列类型:规定数据库中该列存放的数据类型
- 分为:
- 数据类型:int bigint
- 字符类型:varchar char text文本串
- 日期和时间型数据类型:DATE DATETIME
- NULL值 :没有值或者未知值 不要用NULL进行算术运算,结果认为NULL
- 选择数据类型:整数和浮点 日期类型 char和varchar
- 数据字段属性
- 属性
- UNSIGNED:无符号的,声明该数据列不允许负数
- ZEROFILL:0填充的,不足位数用0来填充,如int(3),5则005
- AUTO_INCREMENT:
- 自动增长的,每添加一条数据,自动在上一个记录数上加1
- 通常用于设置主键,且为整数类型
- 可定义起始值和步长
- NULL和NOT NULL
- 默认为NULL,即没有插入该列的数值
- 如果设置为NOT NULL,则该列需要有值
- DEFAULT
- 默认的
- 用于设置默认值
- 列入,性别字段,默认为男,否则为女;若无指定列的值,则默认为男的值
- 数据字段注释
- COMMENT'注释号'
- 表列类型设置
- CREATE TABLE 表名(
- #省略一些代码
- ) ENGINE = InnoDB
- 或者
- CREATE TABLE 表名(
- 示例#省略一些代码
- ) ENGINE = MyISAM
- 数据表的类型
- MySQL的数据表的类型
- MyISAM、InnoDB 、HEAP、BOB、CSV
- 常见的MyISAM与InnoDB类型
- 名称 MyISAM InnoDB
- 事务处理 不支持 支持
- 数据行锁定 不支持 支持
- 外键约束 不支持 支持
- 全文索引 支持 不支持
- 表空间大小 较小 较大,约2倍
- 使用MyISAM: 节约空间及相应速度
- 使用InnoDB: 安全性,事务处理及多用户操作数据表
- 表字符集的设置
- 可为数据库、数据表、数据列设定不同的字符集
- 设定方法
- 创建是通过命令来设置,如
- CREATE TABLE 表名(
- #省略一些代码
- )CHARSET = utf8;
- 创建表
- 索引:
- 注意InnoDB文件为上一级目录的类型数据表只有一个 ibdata1 *.frm文件文件,数据文件为上一级目录的 ibdata1 文件
- MyISAM类型数据表对应三个文件:
- *.frm -- 表结构定义文件
- *.MYD -- 数据文件
- *.MYI -- 索引文件
- 修改数据表
- 修改表名 ALTER TABLE 旧表名 RENAME AS 新表名
- 添加字段 ALTER TABLE 表名 ADD 字段名 列类型 [ 属性 ]
- 修改字段
- ALTER TABLE 表名 MODIFY 字段名 列类型 [ 属性 ]
- ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型 [ 属性 ]
- 删除字段
- ALTER TABLE 表名 DROP 字段名
- 注意点:
- DROP TABLE [ IF EXISTS ] 表名
- IF EXISTS 为可选,判断是否存在该数据表
- 如删除不存在的数据表会抛出错误