SQL基础知识

2021/11/24 19:41:51

本文主要是介绍SQL基础知识,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

DDL语法

A:对数据库进行定义

CREATE DATABASE database_name; // 创建一个名为database_name的数据库
DROP DATABASE database_name; // 删除一个名为database_name的数据库

B:对数据表进行定义

创建表结构

CREATE TABLE [table_name](字段名 数据类型,......)

修改表结构

//给表增加字段
ALTER TABLE 表名 ADD (字段名 字段类型(字段长度));

//修改字段名从A到B
ALTER TABLE 表名 RENAME COLUMN 字段名A to 字段名B;

//修改字段类型为float显示3位整数,1位小数
ALTER TABLE 表名 MODIFY (字段名 float(3,1));

//删除表字段
ALTER TABLE 表名 DROP COLUMN 字段名;

数据表常见约束 

  • 主键约束。主键起的作用是唯一标识一条记录,不能重复,不能为空,即 UNIQUE+NOT NULL。一个数据表的主键只能有一个。主键可以是一个字段,也可以由多个字段复合组成。
  • 外键约束。外键确保了表与表之间引用的完整性。一个表中的外键对应另一张表的主键。外键可以是重复的,也可以为空。
  • 唯一性约束。唯一性约束表明了字段在表中的数值是唯一的,即使我们已经有了主键,还可以对其他字段进行唯一性约束。需要注意的是,唯一性约束和普通索引(NORMAL INDEX)之间是有区别的。唯一性约束相当于创建了一个约束和普通索引,目的是保证字段的正确性,而普通索引只是提升数据检索的速度,并不对字段的唯一性进行约束。
  • NOT NULL 约束。对字段定义了 NOT NULL,即表明该字段不应为空,必须有取值。DEFAULT,表明了字段的默认值。如果在插入数据的时候,这个字段没有取值,就设置为默认值。
  • CHECK 约束,用来检查特定字段取值范围的有效性,CHECK 约束的结果不能为 FALSE

数据表设计原则

  • 数据表的个数越少越好
  • 数据表中的字段个数越少越好
  • 数据表中联合主键的字段个数越少越好
  • 数据表使用主键和外键越多越好

SELECT查询的基础语法

SELECT 字段名1,字段名2,... FROM 表名

起别名

//查出来的数据表头将会替换成别名
SELECT 字段名 AS 别名 FROM 表名

查询常数

//查询出别名字段下值都为 王者荣耀
SELECT '王者荣耀' AS 别名 FROM 表名

去除重复行

//该字段下多种结果的重复值,只保留其中一个
SELECT DISTINCT 字段名 FROM 表名

如何排序检索数据

  1. 排序的列名:ORDER BY 后面可以有一个或多个列名,如果是多个列名进行排序,会按照后面第一个列先进行排序,当第一列的值相同的时候,再按照第二列进行排序,以此类推。
  2. 排序的顺序:ORDER BY 后面可以注明排序规则,ASC 代表递增排序,DESC 代表递减排序。如果没有注明排序规则,默认情况下是按照 ASC 递增排序。我们很容易理解 ORDER BY 对数值类型字段的排序规则,但如果排序字段类型为文本数据,就需要参考数据库的设置方式了,这样才能判断 A 是在 B 之前,还是在 B 之后。比如使用 MySQL 在创建字段的时候设置为 BINARY 属性,就代表区分大小写。
  3. 非选择列排序:ORDER BY 可以使用非选择列进行排序,所以即使在 SELECT 后面没有这个列名,你同样可以放到 ORDER BY 后面进行排序。ORDER BY 的位置:ORDER BY 通常位于 SELECT 语句的最后一条子句,否则会报错。

约束返回结果的数量

//只需要给我返回5条数据就好了LIMIT 5
SELECT 字段名1,字段名2,... FROM 表名 LIMIT 5;

特殊版本:
Oracle
SELECT 字段名1,字段名2,... FROM 表名 WHERE ROWNUM <=5 ORDER BY 字段名 DESC

SELECT语句执行顺序

FROM > WHERE > GROUP BY > HAVING > SELECT的字段 > DISTINCT > ORDER BY > LIMIT

注:好的查询习惯就是SELECT你需要的字段名就行

数据过滤

通配符就是我们用来匹配值的一部分的特殊字符。这里我们需要使用到 LIKE 操作符。 

//字段名 含有太这个字的数据
SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '%太%'

 

 



这篇关于SQL基础知识的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程