MYSQL数据库1.0

数据库语言

数据库查询语言(DQL)

 *   select 查询的信息 from 来自那个表 where 查询条件
     *比较条件:
     *     between……and…… 两个值之间(比如1-19*     in 匹配任意值列表
     *     like 匹配一个人字符模板
     *     is  null是一个空值
     *    举列子 select 查询的信息 from 来自那个表 where 钱 在between 1 and 100
     * 逻辑条件
     *     and  两个组成部分的条件为真,返回为true*     or   如果两个组成的部分任一个条件为真返回true
     *     not  如果干涉条件为假,则返回true
     * order  by
     *     order  by   asc 由小到大。
     *     order by  desc  由大到小。
     *     跟在select字句最后面

数据库操作语言(DML)

*     添加数据 insert
     *     选择插入
     *         insert into 表名(列名,……)values (值1……)
     *     完全插入
     *         insert into 表名  values(值1……)
     *       注意 如果主键是自动增长,需要使用default或者Null或者0占位。
     * 更新数据  update
     *     update 表名 set 列名=值……where  条件
     * 删除数据    delete
     *     delete from 表名  where 条件

数据库定义语言(DDL)

     *         create  table创建表
     *             create table表名(列名  类型……)
     *         show  tables 查看已建的表
     *         修改数据库对象 alter
     *         alter table 修改表
     *             alter table 旧表名  rename  新表名
     *         修改表列名
     *                 alter table 表列名
     *                     alter table 表名 change column 旧列名 新列名 类型
     *         修改表类型
     *                 alter table 表名 modify  列名 新类型
     *         添加新列
     *                 alter table 表名  add  column 新列名  类型
     *         删除指定的列
     *                 alter table 表名  drop column 列名
     *     删除数据库对象 drop
     *         drop table删除表
     *             drop table 表名

数据控制语言(DCL)

  授予用户某种权限   crant
     回收某种权限  revoke

事务控制语言(TCL)

     *     回滚事务  rollback
     *     设置回滚点  savepoint

数据分组(group by)

原则
     *     | 使用where子句就可以在划分行成组以前过滤行。
     *     | 如果有where子句,那么group by 子句必须在where子句后面
     *     | group by必须包含列
     *     约束分组(having)
     *         having子句
     *         | having子句是对查询结果集分组后的结果进行过滤。
     *         用where子句约束行,having约束组
     * 

数据类型

     整数类型
     *         tinyint(m)
     *             占据一个字节(形容男女用)
     *         int(m)
     *             占据4个字节(数值长度有变化)
     *         m
     *             指显示长度不是存储长度
     *     浮点类型
     *         float(m,d)
     *             单精度浮点数 4个字节
     *         double(m,d)
     *             双精度浮点数 8个字节
     *     字符类型
     *         char(n)
     *             固定长度(n)表示字符总长度
     *             适用于身份证,手机号等定长
     *         varchar(n)
     *             可变长度,可以设置最大长度,适应长度可变属性 姓名可以用
     *         text
     *             不设置长度,不知道属性最大值
     *         字符串使用建议
     *             经常变化字段使用varchar
     *             知道固定长度使用char
     *             尽量用varchar
     *             能有varchar不用text
     *     日期类型
     *         date
     *             日期
     *         time
     *             时间
     *         datetime
     *             日期时间yyyy-MM-DD  HH: MM:SS
     *         timestamp
     *             时间cuo
     *                 存储日期不考虑时期,1970000

函数

 都写在select后面
     *     avg()平均值和sum()求和
     *     min()最小的和max()最大的
     *     count()函数
     *         返回分组的总行数
     *         count(※)返回所有列的行数,包括重复行,有空值的行。
     *         count(exper)返回列中有esper指定的非空值的数。
     *         count(distinct exper)返回在列中的由exper指定的唯一的非空值的数。
     *     字符
     *         lower
     *             字符转为小写。
     *         upper
     *             字符转为大写。
     *     数字
     *         round (column,n)
     *             四舍五入,如果第二个参数是零或者缺少,值则四舍五入
     *         mod(m,n)
     *             m除以n的余数
     *     日期
     *         curdate()
     *             返回当前日期
     *         curtime()
     *         current_date()
     *             返回当前日期的
     *         current_time()
     *             返回当前时间。
     *         date()
     *     转换
     *         date_fromat(date,fromat)
     *             将日期转成字符串。
     *         str_to_date(str,format)
     *             将字符串转成日期。
     *     通用函数
     *         if(exper,v1,v2)
     *             如果esper成立,返回结果一,否则返回结果二。
     *         ifnull(v1,v2)
     *             如果第一个值不为空,则返回一,否则返回二。
     *         isnull(express)
     *             判断表达式是否为空
     *         nullif(v1,v2)
     *             比较两个参数是否相同,如果第一个与第二个相等返回空,否则返回第一个。
     *         coalesce(v1,v2……)
     *             返回参数第一个非空表达式从左向右。
     *         case   oldu  when  oldu  tene  when  admin then ADMIN endelse else  kevjn  end
     *switch差不多,一个wwn对应一个then如果没匹配的就else(就是和swiss差不多casecase二什么的,如果没有就else

链接

 *     sql92连接
     *         等值链接
     *             特点:
     *                 多表等值连接的条件为多表的交集部分。
     *                 n表链接至少需要n减一个连接条件。
     *                 多表不分主次,没有顺序要求。
     *                 一般为表起别名
     *         非等值连接
     *         自链接
     *     sql99连接
     *         交叉链接
     *         内链接
     *         左外与右外连接
     *             左外连接
     *                 left outer  join
     *             右外连接
     *                 rigth  outer join
     *             举例
     *                 显示所有固原的名字,部门的名称以及没有雇员的部门。
     *                 没有固然的部门是孤儿数据。
     *     全外连接
     *         full  outer join
     *             union可以将两个查询结果集合并返回的行都是唯一的

用户管理

*     创建用户
     *     | create user用户名   identified by 密码
     *         按权限分俩:一种是root用户超级管理员,和由root用户创建的普通用户
     *     查看用户
     *     | select  显示  from   来自哪个表
     *     权限
     *         权限语句
     *         | crant  权限 数据库。表to用户名@登录主机identified”密码”
     *             新用创建完是无法登录的,需要分配权限。
     *
     *         登录主机
     *             %
     *             | 匹配所有主角
     *             localhost
     *             | 本机的域名,只能链接本机的服务端
     **             127.0.0.1
     *             | tcp或ip协议连接,只能在本机访问
     *         权限列表

数据分页

    limit
     *     | select 投影列 from 表名 where 条件 order by limit 开始位置 ,查询数量
     * 注意事项
     *     DML数据库操作语言
     *         针对表中的数据(insert,update,delete)
     *     DDL数据定义语言
     *         (create,alter,drop)针对数据库对象,比如数据库,表,索引,视图,存储过程,触发器
    

约束

  *     概述
     *         数据效验的方式
     *     主键约束
     *         不允许为空,不允许有重复值出现。保证数据的唯一性。
     *         比如学生的学号是唯一的
     *     外键约束
     *         允许有空值,允许重复 ,值必须参照表的参照列中所包含的值,保证数据参照的完整性。
     *         保证数据的一致性
     *     唯一约束
     *         相同的值只能出现一次,允许为多个列添加唯一约束,保证数据的唯一性。
     *     非空约束
     *         列中不能有空值,允许有重复值。允许多个列添加非空约束,保证数据没有空值。
     *     检查约束
     *         用户自己定义的约束条件,保证数据满足自定义的条件约束。

二 事务

1 事务的ACID属性

原子性(Atomicity)事务中的操作要么都发生,要么都不发生。
一致性(Consistency)事务必须使数据库从一个一致性状态变换到另外一个一致性状态。
隔离性(Isolation)事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(Durability)持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响

2 事物的提交和回滚

3 事务实现原理

4 行级锁 表级锁

5 锁等待

6 死锁

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值