首页 > 数据库 >SQL基础一

SQL基础一

时间:2023-01-05 08:57:14浏览次数:44  
标签:00 01 数据库 基础 SQL NULL 主键

SQL是访问和处理关系数据库的计算机标准语言。
数据库模型:层次模型、网状模型、关系模型

关系型数据库

目前,主流的关系数据库主要分为以下几类:

  1. 商用数据库,例如:Oracle,SQL Server,DB2等;
  2. 开源数据库,例如:MySQL,PostgreSQL等;
  3. 桌面数据库,以微软Access为代表,适合桌面应用程序使用;
  4. 嵌入式数据库,以Sqlite为代表,适合手机应用和桌面程序。

基础数据类型

  • 类型(同义词) 存储长度(BYTES) 最小值(SIGNED/UNSIGNED) 最大值(SIGNED/UNSIGNED)
    整形数字
    TINYINT 1 -128/0 127/255
    SMALLINT 2 -32,768/0 32767/65,535
    MEDIUMINT 3 -8,388,608/0 8388607/16,777,215/
    INT(INTEGER) 4 -2,14,7483,648/0 2147483647/4,294,967,295/
    BIGINT 8 -2^63/0 263-1/264-1
    小数支持
    FLOAT[(M[,D])] 4 or 8 -
    DOUBLE[(M[,D])]
    (REAL, DOUBLE PRECISION)
    8 -
    时间类型
    DATETIME 8 1001-01-01 00:00:00 9999-12-31 23:59:59
    DATE 3 1001-01-01 9999-12-31
    TIME 3 00:00:00 23:59:59
    YEAR 1 1001 9999
    TIMESTAMP 4 1970-01-01 00:00:00

SQL语言

DDL:Data DefinitionLanguage

DDL允许用户定义数据,也就是创建表、删除表、修改表结构这些操作。通常,DDL由数据库管理员执行。

DML:Data ManipulationLanguage

DML为用户提供添加、删除、更新数据的能力,这些是应用程序对数据库的日常操作。

DQL:Data Query Language

DQL允许用户查询数据,这也是通常最频繁的数据库日常操作。

建议:SQL关键字总是大写,以示突出,表名和列名均使用小写

关系模型

表的每一行称为记录(Record),记录是一个逻辑意义上的数据。
表的每一列称为字段(Column),同一个表的每一行记录都拥有相同的若干字段。
字段定义了数据类型(整型、浮点型、字符串、日期等),以及是否允许为NULL。
注意NULL表示字段数据不存在。一个整型字段如果为NULL不表示它的值为0,同样的,一个字符串型字段为NULL也不表示它的值为空串''。
通常情况下,字段应该避免允许为NULL。不允许为NULL可以简化查询条件,加快查询速度,也利于应用程序读取数据后无需判断是否为NULL。

主键

选取主键的一个基本原则是:不使用任何业务相关的字段作为主键。主键是关系表中记录的唯一标识。
主键的选取非常重要:主键不要带有业务含义,而应该使用BIGINT自增或者GUID类型。主
键也不应该允许NULL。

联合主键

两个或更多的字段都设置为主键,这种主键被称为联合主键,允许一列有重复。

索引

对于主键,关系数据库会自动对其创建主键索引。使用主键索引的效率是最高的,因为主键会保证绝对唯一。
ALTER TABLE sherlock_user ADD UNIQUE INDEX uni_user_name(user_name)

标签:00,01,数据库,基础,SQL,NULL,主键
From: https://www.cnblogs.com/SherlockZhang/p/17026517.html

相关文章

  • centos7 安装 MySQL
    首先登陆MySQL官网。点击downloads。https://dev.mysql.com/downloads/这里我选择的是社区版。之后出现了很多选项。根据需求选择。因为我是centos,一开始准备使用y......
  • 2023-01-04 跟庄量学。基础概念,王牌柱,九阴真经
     王牌柱:1.第一根阳柱,高倍平梯2.之后三天:平均收盘价不破第一根阳柱(1)平均收盘价高于第一根阳柱收盘价(2)平均收盘价介于第一根阳柱之间思考:因为上涨过程中要看阳柱,思......
  • MySQL索引
    面试题整理-MySQL索引MySQL#1.什么是索引-官方定义:一种帮助mysql提高查询效率的数据结构-索引的优点:1、大大加快数据查询速度-索引的缺点:1......
  • MySQL安装
    一、官网下载mysql安装包https://www.mysql.com/安装其它版本windows安装包macbook安装二、安装mysqlwindows案例三、配置环境变量,启动mysql服务#......
  • MySQL语法
    一、数据库引擎#显示系统默认存储引擎showvariableslike'%engine%';二、数据库操作#如果数据库存在先删除dropdatabaseifexistsmyschool;#创建数据库create......
  • Mysql的事务原理
    一、持久性依靠的是redolog,重做日志,记录的是事务提交时数据也的物理修改,是用来实现事务的持久性。该日志文件由两部分组成,重做日志缓冲,(redologbuffer)和重做日志......
  • MYSQL中MVCC是什么?
    基本概念MVCC:全称Multi-VersionConcurrencyControl,多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突,快照读为MySQL实现MVCC提供了--个非阻塞读功......
  • MySQL中limit的用法
      mySql提供了limit ,主要用于提取前几条或者中间某几行数据。select*fromtablelimitm,n其中m是指记录开始的index,从0开始,表示第一条记录n是指从第m+1条开始,取n......
  • 极客时间《性能测试实战》——性能测试基础
    性能测试的概念1.性能测试概念的传统解释:压力测试压力测试是评估系统处于或超过预期负载时系统的运行情况。压力测试的关注点在于系统在峰值负载或超出最大载荷情况下......
  • Rust-02 Rust的基础类型
    整数类型(IntegerNumber)长度有符号无符号8-biti8u816-biti16u1632-biti32u3264-biti64u64128-biti128u128archisizeusize其中i......