SQL语句

SQL语句分为四种:

  • DDL数据定义语言,定义数据库、数据库对象
  • DML,增删改查
  • DCL,权限访问
  • TCL,事务控制,ACID事务,支持commit、rollback指令

语言规范:

  • 语句不分大小写
  • 分号结束
  • 注释
  • 命名:字母开头,数字字母下划线#、$

DCL

grant all on name.* to ‘yonghu’@’%’ identified by’密码’
revoke all on name.* from yonghu

DDL

删除 drop user name;
创建数据库 : create database if not exists test character set utf8b4 collate utf8mb4_general_ci;
删除:drop database if exist name
查看列信息:desc tablename '%name;

关系

行:也被成为记录元组
列:被成为字段、属性
基数、维数
候选键:能唯一标注一条记录的属性和属性的集合
主键:被选中的候选键
外键:一个关系中的一个或多个属性被另一个关系引用,一般为主键引用

索引

主键索引、唯一索引、普通索引
在MySQL中,InnoDB和MyISAM的索引数据结构可以使用Hash或BTree,默认BTree
索引不是和增删改,适合查找

约束

有值、值域、主键不为空不重复唯一、外键引用可以不为主键
外键约束:级联(CASCADE)、SET NULL、RESTRICT、NO ACTION

实体-联系E-R

一对一、一对多、多对多

视图

也叫虚表,由SQL语句生成的,可以增删改查
简化操作,安全(显示计算后结果)

关系操作

选择:选择出符合条件的元组
投影:选择出若干属性列组成新的关系
连接:将两个不同关系连接成新的关系

DML

  • insert into …values …
    insert ignore into … values… 有了就放弃
    insert into … values … on duplicate key update … 有了变更新

  • delete from … 记得条件要不都删除

  • update 哪个表 set name=… 记得加条件

  • select ? from table
    limit
    limit 1 、limit 1 offset 2、limit 2,1
    where子句
    = <> between like in and or
    order by
    升序 asc 降序desc
    distinct
    select distinct …from …
    聚合函数
    max min avg count
    select sum(what) from …
    group by
    having继续筛选

连接

交叉连接
笛卡尔积
select * from tablename cross join tablename
select * from tablename,tablename
内连接
select * from tablename join tablename
select * from tablename inner join tablename
—等值连接
select * from tablename join tablename on what =what
–外连接
select * from tablename left join tablename on what=what
select * from tablename right join tablename on what=what
左连接以左边为基准,只显示一定数目的信息

事务

关系型数据库支持事务
原子性:事务中的操作,不可分割,要不做完,要不不做
一致性:事务并行执行结果,应该和串行形同
隔离:事务之间不互相干扰,一个在执行,其他不能访问相同数据
持久:提交不丢失
MySQL隔离级别可能出现:
1、更新丢失
2、脏读:读到未提交数据
3、不可重复度
4、幻读:A多次查询,其中B插入数据,A读到结果不同

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值