数据库
- 数据库存放数据的仓库
- 方便存储快速查找
- 数据按照一定格式可为用户共享
- DataBase数据库单词
- 数据库管理系统
- MySQL被甲骨文收购,开源代码安全性不高,源代码容易修改,有些公司可以对MySQL进项重构,就可以变成不开源版,让数据有了保障
- oracleMySQL中的漏洞都被修复了,比MySQL好用,安全性高
- sqlserver是微软公司的一般不会去用了解一下就行
- 数据库是数据库管理系统创建的
- 数据库系统
- 数据库应用程序让任何人都可以使用数据库
- 数据库管理员
- 管理系统
- 用户
- 数据库管理员
- 数据库
- 数据库的好处
- 提供稳定性
- 数据共享稳定
- 数据库支持并发
- 高效率数据量越大速度越明显
- MySOL关系型
- 优点
- 易于维护
- 使用方便可以复杂查询
- 可以用于多个表之间复杂查询
- 缺点
- 数据多了读写性能变差
- 固定的表结构,不能使用其他结构,缺少灵活性
- 并发读写,在硬盘执行io操作回降低效率
- 优点
- 数据库的部分
- 查询
- select
- 操作
- insert,update,delete
- CREATE DATABASE 数据库名字;创建数据库
- DROP DATABASE 数据库名字;千万不能用
- SHOW DATABASES;显示当前所有的数据库
- USE 数据库名称 切换数据库
- ALTER TABLE 表名字,改变表
- ADD添加一行
- 定义新的表
- CREATE TABLE stu(
- NAME字符串VARCHAR,
- 整形INT,
- sex VARCHAR(存放字符的数量),
- 查询
- 数据类型(常用)
- INT整形
- 小数decimal
- VARCHAR,0-65535没有到达长度输入多少就是多少
- char固定长度,长度范围为0-255,没有达到255后面回补充空格
- ENUM枚举(定义的内容)
- set集合(定义的内容)
- 集合可以选多个但是不能多个字符串
- 定义类型不能重复的
- 放重复值会去重
- data time
- time tiem
- 主键
- 主键不能作为修改更新
- 每个行都必须有一个主键值
- 主键值都不会相同
- 操作代码
- use 数据库名
- SHOW TABLES 查询所有的表
- SHOW DATABASE 查询所有的数据库
- alter table 表名 add 旧字段 新字段 数据类型 修改表名
- alter table 表名 add 字段 直接写你想改变的数据类型
- rename table 旧字段 to 新字段
- select *from 表名查看当前表内所有内容
- alter table 字段 = 新内容 where 筛选条件
- insert into 表名 values()插入新的字段
- insert into 表名 (字段)valuer()插入的字段
- id int primary key创建主键
- id int primary key auto_increment
- 自增是不放值就自增
- 放值了就会写放入的值而且不最动补位
- 自增的话会按照最大的值去增加
- 每一个表里面只能有一个主键,不能有多个主键。
- select 字段,字段, from 表名查询单个
- select 表类名+105 as(给当前字段起别名) 别名 做修改 from 表名
- 只要是select ,任何操作对表没有任何影响只是显示的做出改变
- select distinct(去重)字段,字段 from 表名
- 两个字段加起来没有重复的就可以
- drop table 表名
- desc 名 查看表结构
- rename table 表名 to 新表名
- update 表名 set 字段名 where 字段名 = 筛选条件
- delete from 表名 where 筛选条件指定删除
- order by 字段 排序
- 根据什么排序
- 可以放两个字段两次排序
- 可以加desc在字段后面加 倒叙排
- select *from 表名 where 条件1 and (条件二 or 条件三)
- like 模糊查询
- _一个字
- __两个字
- % 无限定
- 如果没有写百分号,like的作用就是和等于号一样
- limit(9,6)划分
- 9,6其实就是10-15行
- count()统计
- count(*)
- count(字段名)
- max ()最大值
- min()最小值
- avg()平均
- sum()求和
- concat(第一个列名,第二个列名)拼接
- left (字符串,3)从左截取三个字符
- right(字符串,3)从右边截取
- select substring(字符串,23指定位置截取)
- ltrim(str)去除左边空格
- rtrim(str)去除右边空格
- trim
- replace替换字符串内容
- lower
- upper
- abs绝对值
- mod 求余数
- floor向下取整
- ceiling向上取整
- round四舍五入
- round(345.64989,2)=345.64保留小数点后两位
- round(345.64989,-2)回整数
- where 必须放在 group by前面
- where 后面不能放聚合函数
- distinct去重查询
- modify 该数据的类型
- not null不能为空
- 表的约束
- 必须先删子表才能删除父表中的内容
- 索引
- create index 索引名字 on 表名(字段)
- 索引不能给整个表加
- 只能给某个字段加索引
- 视图
- create view 试图名(放查询语句)添加视图
- drop view 视图名删除视图
- 事务
- begin开始事务
- rollback回滚
- commit确定提交数据库
- commit以后不能rollback
- rollback之后commit没有任何作用
- unique保证唯一
- pychon中做修改了必须要写commit