美文网首页
走向DBA之SQL语句介绍

走向DBA之SQL语句介绍

作者: 国王12 | 来源:发表于2019-06-17 20:44 被阅读0次

一、SQL介绍:(Structured Query Language)

结构化查询语言
SQL标准:SQL92(92年定制) SQL99(99年定制)
自5.7版本,加入严格的SQL_Mode严格模式。(必须按照SQL标准。)

二、SQL作用:

SQL用来管理和操作MySQL内部的对象
何为对象?库、表...
库:库名,库属性
表:表名,表属性,列,记录,列属性和约束

三、SQL语句的类型

DDL: 数据定义语言 data definition language
DCL: 数据控制语言 data control language
DML: 数据操作语言 data manipulation language
DQL: 数据查询语言 data query language

四、数据类型

1.作用:控制数据的规范性,让数据有具体的含义,在列上进行控制。

2.种类:字符串、数字、时间、二进制

主要是前三项 二进制(基本不用,俺也不懂)

2.1、字符串:

char、varchar、enum (这三类为重要常用类型)

char(32):

控制长度(可变最大长度255),当前定义最大字符长度为32(可变数字),立即分配32字符长度的存储空间,用不完空格填充

varchar(32):

控制长度 (最大长度65525),最大字符长度为32个(可变数字),但是在存储时,自动判断字符长度,按需分配存储空间(限制最大长度),另外会占用一个字节空间来记录此次的保存字符长度。字符长度超过255之后,需要两个字节长度记录字符长度

enum 枚举类型

长时间不变的数据,比如我们国家的34个省
(‘北京’河南‘山西’山东‘)提前定义好之后,会生成索引(下标或者序列号)
查询时候更快,更方便
数据行较多时,会影响到索引的应用
注意:数字列禁止使用enum类型

面试题:

1.char和varchar的区别?上边写的就是答案
2.char和varchar如何选择?
答:char类型,存放固定长度的字符串列,比如电话号,身份证号,银行卡号等
好处:速度快,不用每次都判断长度
节约一个字符(记录字符长度)的空间
varchar类型:不确定长度的字符串,可以使用

字符更多类型:

image.png

2.2数字类型

常用:

tinyint (极小数据类型 0-255)
int(常规大小整数数据类型 -2^31 到 2^31-1)

更多数值类型:

image.png

2.3时间类型:

常用:

DATETIME

范围为从 1000-01-01 00:00:00.000000 至 9999-12-31 23:59:59.999999

TIMESTAMP

1970-01-01 00:00:00.000000 至 2038-01-19 03:14:07.999999(会受时区影响)

更多时间类型:

image.png

五、表属性

存储引擎:engine = InnoDB (企业必须使用)
字符集 :charset = utf8mb4 (推荐大部分企业使用)
排序规则 (校对规则)collation : 针对英文字符串大小写问题
字符集区别:
utf8 中文 三个字节长度 (鱼的那个拼音拼不出来)
utf8mb4 中文 四个字节长度 (比utf8更厉害点)(支持emoji 表情符号)

六、表的列的属性和约束

主键:primary key (PK) *****

设置为主键的列,此列的值必须非空且唯一,主键在一个表中只能有一个,但是可以有多个列一起构成。是一种约束,也是一种索引类型
设置主键列的类型尽量是:数字列,整数列,与业务无关列,自增的。

非空 Not NULL ****

老师建议,对于普通列来讲,尽量设置not null ,就是必填项,就像注册qq时候打星号的选项,必填

默认值 default****

设置默认值,比如:default 0 设置默认值为零

唯一 unique *****

不能重复 但是可以为空(不对比空,所以空重复了,无所谓)

自增 auto_increment ****

针对数字列,自动生成顺序值

无符号 unsigned ****

针对数字列,不能有符号就是不能为负数

注释 comment ****

注意:规范顺序: 列名 数据类型 无符号 非空 唯一 主键 默认值

相关文章

  • 走向DBA之SQL语句介绍

    一、SQL介绍:(Structured Query Language) 结构化查询语言SQL标准:SQL92(92...

  • 走向DBA之SQL语句(DQL)

    select 查看 一、作用: 获取MySQL中的数据行信息 二、单独使用select 2.1获取参数信息 语法:...

  • 走向DBA之SQL语句应用(DDL\DML)

    (前篇已经介绍了SQL语句的定义和介绍等基本信息,相信大家对SQL语句有了基本的了解和掌握,接下来干正事) 一、D...

  • MySQL查看正在执行的SQL语句

    备注:今天介绍一个超简单的命令,但是很有用,查看mysql正在执行的任务,帮助DBA分析存在异常的SQL语句。 解...

  • 读写分离

    功能介绍读写分离从库负载均衡IP过滤SQL语句黑白名单DBA可平滑上下线DB自动摘除宕机的DB自动分表 下载地址h...

  • 自制小工具大大加速MySQL SQL语句优化(附源码)

    引言 优化SQL,是DBA常见的工作之一。如何高效、快速地优化一条语句,是每个DBA经常要面对的一个问题。在日常的...

  • SQL基础及元数据获取(数据类型,表的属性)

    1、SQL基础应用 ①.SQL的介绍SQL标准:SQL-92、SQL-99SQL_MODE:都是为了保证SQL语句...

  • SQL语句

    SQL基础应用 SQL语句自动补全 SQL的介绍 SQL-92标准SQL-99标准 image SQL常用分类 表...

  • 浅谈SQL Server内部运行机制

    对于已经很熟悉T-SQL的读者,或者对于较专业的DBA来说,逻辑的增删改查,或者较复杂的SQL语句,都是非常简单的...

  • 数据库SQL语句

    数据库之SQL语句(二) 数据库之SQL语句(一)[https://www.jianshu.com/p/460e3...

网友评论

      本文标题:走向DBA之SQL语句介绍

      本文链接:https://www.haomeiwen.com/subject/rnyofctx.html