我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQL基础随记 (Tobe Continued) - G

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQL基础随记 (Tobe Continued) - G

SQL基础随记 (Tobe Continued) - G

SQL基础随记 (Tobe Continued)

 

其实这里的随记,要是好久不接触突然被问的话有时还真的一时答不上,自己写一遍胜过盲扫。当然,也有些常读常新的地方会记录下来。

 

对SQL语言进行划分

DDL --- Data Definition Language --- 定义 --- 增删改数据库和表的结构

DML --- Data Manipulation Language --- 操作 --- 对记录增删改

DQL --- Data Quary Language --- 查询 --- 对记录进行查询

DCL --- Data Control Language --- 控制 --- 访问权限和安全规则

要是要突然问的话有时还真的一时回答不上,记住单词胜过记缩写

 

DBMS的分类

  • 关系型
    • 行存储 --- MySQL
  • NosQL
    • 键值型 --- Redis
    • 文档型 --- MongoDB
    • 搜索引擎 --- Elasticsearch
    • 列存储(列族数据库)
    • 图形数据库

 

  • 列存储数据库说是“可以降低系统的I/O,但功能相对有限”,不过我看到了一段有意思的话觉得很有道理

    列存储常见于分布式文件系统,如Hbase

  • 图(这种数据结构)存储了实体(对象)之间的关系。以最典型的人与人社交关系为例,其数据模型主要是以节点和边来实现。特点在于可以有效解决复杂的关系问题。

 

DDL

  • 创建表时可以在create table tableName (...)后面追加参数,可以追加的有

    • engine = InnoDB

    • CHARACTER SET = utf8 COLLATE = utf8_general_ci
      

      其中CHARACTER SET是指定字符编码,COLLATE是指定排序规则。且utf8_general_ci是对大小写不敏感,对大小写敏感是utf8_bin

      在定义varchar()类型字段的时候也可以后缀CHARACTER SET = xxx COLLATE = yyy

       

  • 在创建索引的时候我们可以选择不同类型的索引(UNIQUE INDEX --- 唯一索引 或 NORMAL INDEX --- 普通索引)以及不同的索引方式(BTREE 或 HASH),如

    CREATE TABLE XXX(
    ...
    UNNIQUE INDEX indexName (字段名) USING BTREE
    ...
    )
    

    索引分为单列索引和组合索引,组合即一个索引可以包含多个列

     

  • 约束

    • 主键,可以是一个字段也可以是多个字段
    • 外键
    • UNIQUE (唯一性)约束,
    • NOT NULL 约束
    • DEFAULT 约束,在插入记录时如果该字段为空,那么就会设置为默认值。(而不是“不变量”的意思,它仍然可变)
    • CHECK 约束 (MySQL8.0.16后版本支持)

     

  • 理论上设计数据表的“三少一多”原则

    • 表个数少

    • 表中字段少

    • 联合主键字段少

    • 主键和外键多

      表的设计核心就是简单可复用,主键是一张表的代表,因此主键外键越多,说明表之间的利用率最高。
       

      但这个原则不是绝对的,因为有时我们需要牺牲数据的冗余度来换取处理数据的效率,毕竟join总是会造成复杂。

      另外在大型项目中,大量的更新以及高并发的情况下,外键会造成额外的开销,也容易造成死锁。因此在业务量较大时,可以采用在业务层实现,取消外键来提高效率。因此在实际生产中为了方便维护基本不使用外键

      另外也不推荐使用自增长主键,不利于维护。例如银行一般使用唯一表示字段uuid+日期+渠道流水(unique index)来保证数据唯一性。

       

    • 修改字段类型不要忘记COLUMN

      ALTER TABLE tableName MODIFY COLUMN newName type;
      

      修改字段名

      ALTER TABLE tableName CHANGE oldName newName type;
      

      修改大表字段需要谨慎 容易引发表结构写锁。(0623)

       

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQL基础随记 (Tobe Continued) - G

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SQL基础随记 (Tobe Continued) - G

SQL基础随记 (Tobe Continued) 其实这里的随记,要是好久不接触突然被问的话有时还真的一时答不上,自己写一遍胜过盲扫。当然,也有些常读常新的地方会记录下来。 对SQL语言进行划分DDL --- Data Definition Language
SQL基础随记 (Tobe Continued) - G
2021-02-05

SQL基础随记3 范式 键 - G

SQL基础随记3 范式 键什么是范式?哈,自己设计会使用但是一问还真说不上来。遂将不太明晰的概念整体下 什么是 & 分类范式(NF),一种规范,设计数据库模型时对关系内部各个属性之间的联系的合理化程度的不同等级的规范要求。分类:1NF、2NF、3NF、BCN
SQL基础随记3 范式 键 - G
2014-11-13

SQL基础随记2 视图 存储过程 - G

SQL基础随记2 视图 存储过程 ViewCREATE/ALTER/DROP VIEW ViewName as SELECT(...)可以在视图的基础上继续创建视图,即,将之前创建的视图当做表名放在新视图的select语句中利用视图进行数据格式化(就是对字段进
SQL基础随记2 视图 存储过程 - G
2020-04-02

sql初学者笔记 语法基础

常见注释-- 很少支持行内注释段落注释基础语法SELECT检索数据语法作用例子释义select查找列,并返回行select prod_name from products;#可使用,分隔列名来查找多个列。查找prod_name列,并返回其下的所有行,在
sql初学者笔记 语法基础
2018-10-06

编程热搜

目录