SQL必知必会
-
第一章 了解SQL
- 数据库:(个人理解就是我们电脑上的文件夹)
- 数据库是保存有组织数据的容器
- 人们通常用数据这个术语来代表他们使用的数据库软件,确切的说,数据库软件应该被称为数据库管理系统,数据库是通过DBMS创建和操作的容器。
- client----->dbms-----control------>db
- 表:(我们放入文件夹中的文件,不同的数据放在不同的文件中)
- 表示一种结构化的文件,可以用来存储某种特定类型的数据。
- 关键点在于,存储在表中的数据是同一种类型的数据
- 数据库中每个表都有一个名字来标识自己,这个名字是唯一的,即数据库中没有其他表具有相同的名字。(我们也不能在一个文件夹里放两个相同文件名的文件,否则会提示你是要覆盖还是替换,当然如果在两个文件夹中放入同名文件是可以的)
- 模式:数据库和表的布局及特性信息
- 列和数据类型
- 表是由列组成,它代表了表中的一个字段,所有表都是由一个列或多个列组成。
- 数据库中每一列都有相应的数据类型,数据类型定义了列可以存储哪些种类的数据,数据类型限定了可存储在列中的数据种类,数据类型还帮助正确的分类数据,并在优化磁盘使用方面起到重要的作用。
- 数据类型及其名称是SQL不兼容的一个主要原因。
- 行
- 表中的一个记录
- 主键
- 表中每一行都应该有一列可以唯一标识自己。
- 主键可以使一列也可以是多列,其值能唯一标识自己。
- 没有主键,更新或删除表中特定行就极为困难。
- 作为主键的条件:
- 唯一非空,且不能修改,删除后不能复用。
- 什么是SQL
- SQL是与数据库交互的一种语言。
- 优点:
- 学习SQL:几乎所有重要的DBMS都支持SQL
- 简单易学
- SQL是一种强有力的语言
-
第二章 select语句
-
select语句它的用途是从一个或多个表中检索出数据
-
关键字:作为SQL的保留字,不能用于数据库,表和列的名字。(被官方征用了)
-
检索单个列
SELECT 列名 FROM 表名; 举个🌰: SELECT id FROM info;如果没有明确查询结果的顺序,它的显示就是无序的,可能是你添加记录时的顺序也可能不是,SQL语句是不区分大小写的,建议关键字使用大写,列名等使用小写,这样易于阅读与调试。在处理SQL语句时,其中所有的空格都被忽略,所以可以写成长长的一行,也可能分行写。
-
检索多个列
SELECT 列1,列2.... FROM 表名; 举个🌰: SELECT id,name FROM info;选择多个列时,一定要在列名之间加上逗号,但最后一个列名后不加,否则会出现错误
-
检索所有列
SELECT * FROM 表名; 举个🌰: SELECT * FROM t1;*是通配符,代表所有
-
记录去重
SELECT DISTINCT 列名.... FROM 表名; 举个🌰: SELECT DSTINCT id FROM info;distinct作用于所有列,不仅仅是跟在其后的那一列
-
限制显示结果
#不同的DBMS使用的关键字不同,这里只记录SQL server和MySQL #SQL server SELECT TOP 记录数 列名.... FROM 表名; #MySQL SELECT 列名 FROM 表名 LIMIT 记录数 SELECT 列名 FROM 表名 LIMIT 记录数START,记录数 #在MySQL中第一个被检索的行是第0行,而不是第一行。 举个🌰: SELECT * FROM tt LIMIT 3 #前三行 SELECT * SELECT tt SELECT 0,3 #从第0行开始的三行记录 -
使用注释
-- 这是一条注释 #这是一条注释 /*行*/ 可以注释多行
浙公网安备 33010602011771号