SQL语法基础

SQL语法基础

  • SQL
    • SQL介绍
    • SQL语句
    • 数据完整性
  • 数据类型
    • 常用类型
    • 数值类型
    • 日期时间类型
    • 枚举类型
    • 字符串类型
    • 约束

SQL

SQL介绍

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,我们可以使用SQL操作关系型数据库(sql server,oracle,mysql等)

SQL语句

DDL语句: 数据定义语言(Data Ddefinition Language),对逻辑结构等操作,其中包括表结构,视图和索引
DQL语句: 数据查询语言(Data Query Language),查询操作,以select为关键字,执行各种简单查询,连接查询等
DML语句: 数据操纵语言(Data Manipulation Language),用于添加、删除、更新、和查询数据库记录,并检查数据完整性
DCL语句: 数据控制语言(Data Control Language),用于控制不同数据段直接许可和访问级别的语句

数据完整性

  • 数据完整性(Data Integrity): 指数据的精确性(Accuracy)可靠性(Reliability)。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的
  • 数据库采用多种方法来保证数据完整性,包括外键约束规则触发器。系统很好地处理了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,相补缺点

数据类型

常用类型

  • 数值类型
  • 日期时间类型
  • 枚举类型
  • 字符串类型

数值类型

整数类型 有符号范围 无符号范围
TINYINT(size) -128~127 0~255
SMALLINT(size) -32768~32767 0~65535
MEDIUMINT -8388608~8388607 0~16777215
INT(size) -2147483648~2147483647 0~4294967295
BIGINT(size) -9223372036854775808~9223372036854775807 0~18446744073709551615
小数类型 描述
FLOAT(size,d) 带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DOUBLE(size,d) 带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DECIMAL(size,d) 作为字符串存储的 DOUBLE 类型,允许固定的小数点。(定点数类型)

日期时间类型

数据类型 描述
DATE() 日期。格式:YYYY-MM-DD 注释:支持的范围是从 ‘1000-01-01’ 到 ‘9999-12-31’
DATETIME() 日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS 注释:支持的范围是从 ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’
TIME() 时间。格式:HH:MM:SS 注释:支持的范围是从 ‘-838:59:59’ 到 ‘838:59:59’
YEAR() 2 位或 4 位格式的年。注释:4 位格式:1901 到 2155。2 位格式:70 到 69,表示从 1970 到 2069
TIMESTAMP() 时间戳。格式:YYYY-MM-DD HH:MM:SS 注释:支持的范围是从 ‘1970-01-01 00:00:01’ UTC 到 ‘2038-01-09 03:14:07’ UTC

枚举类型

枚举类型英文为ENUM,对1 ~ 255个成员的枚举需要1个字节存储;对于255~65535个成员,需要2个字节存储。最多允许65535个成员。创建方式:enum("M","F")

字符串类型

字符串类型 字节大小 示例
CHAR(size) 0-255 char(3)输入’ab’,实际存储为’ab ‘,输入’abcd’,实际存储为’abc’
VARCHAR(size) 0-65535 varchar(3)输入’ab’,实际存储为’ab’,输入’abcd’,实际存储为’abc’

注意:

  • decimal表示定点小数,如decimal(5,2)表示共存5位数,小数占2位。不写则默认为decimal(10,0)
  • char表示固定长度的字符串,如char(3),如果填充’ab’两个长度时会补一个空格 -> 'ab ’
  • varchar表示可变长度的字符串,如varchar(3),如果填充’ab’时就会存储’ab’
  • 对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径枚举

约束

非空 NOT NULL: NOT NULL约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录
唯一 UNIQUE: UNIQUE 约束唯一标识数据库表中的每条记录
主键 PRIMARY KEY: PRIMARY KEY 约束唯一标识数据库表中的每条记录。主键必须包含唯一的值。主键列不能包含 NULL 值。每个表都应该有一个主键,并且每个表只能有一个主键
外键FOREIGN KEY: FOREIGN KEY 约束,对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常

你可能感兴趣的:(MySQL学习)