ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SQL基础知识

2021-11-24 13:58:26  阅读:146  来源: 互联网

标签:SQL 基础知识 数据表 字段名 表名 排序 主键 SELECT


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,基础知识,数据表,字段名,表名,排序,主键,SELECT
来源: https://blog.csdn.net/HAshawnWang/article/details/121509673

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有