数据库是以某种有组织的方式存储的数据集合。
保存有组织数据的容器,通常是一个文件或者一组文件。
SQL 是Structured Query Language (结构化查询语言)的缩写。
表是一种结构化的文件,可用来存储某种特定类型的数据。
table:某种特定类型数据的结构化清单,数据库中的每个表都有一个特定的名字来标识自己,也就是说表名具有唯一性。
表具有一些特性,这些特性定义了数据在表中如何存储,包括存储什么样的数据,数据如何分解,各部分信息如何命名等信息。
描述表的这组信息就是所谓的模式(schema).
模式:关于数据库和表布局及特性的信息。
表由列组成。列存储了表中某部分的信息。
列:表中的一个字段,所有表都是由一个或者多个列构成的。
数据库表中每列都有相应的数据类型。
数据类型datatype:定义列可存储那种数据种类,例如:数字,日期,注释等。
表中的数据按行存储,所保存的每个记录存储在自己的行内。
行row:表中的一个记录。
表中每一行都应该有一列或几列可以唯一标识自己。
主键(primary key):能够唯一标识表中的每一行。
关键字(keyword):作为sql语句组成的保留字,关键字不能用作表或列的名字。
如下:查询Student表中检索名为name的列。
SELECT name FROM Student.
From关键字指出从哪张表中查询数据。
Sql语句不区分大小写,所以关键字的大小写是相同的效果。(表名,列名等可能会有所不同,具体看配置)
查询多列方法是在select关键字后给出多个列名,列名之间以逗号分割。
select name,age from student
使用通配符*。
select * from student
1:检索不需要的列会降低检索速度和应用程序的性能。
2:由于不用指定列名,可以检索处名字未知的列。
ORDER BY 子句。
select name from student order by name;
对name列以字母顺序输出。
使用where子句。
select * from student where age =18;
where 子句操作符:
= 等于
!= 不等于
<
>
<= 小于等于
>= 大于等于
BETWEEN 在指定的区间
IS NULL 未null值
区间查询
SELECT * FROM student WHERE age BETWEEN 18 AND 20;
AND子句 多个查询条件
SELECT * FROM student WHERE age >18 AND name = '测试';
OR子句
SELECT * FROM student WHERE age =18 OR age =21;
SELECT * FROM student WHERE (age =18 or age =20) AND name = '测试';
IN 操作符:用来指定条件范围,范围中的每个条件都可以进行匹配。
IN取一组由逗号分割,括在圆括号中的合法值、
SELECT * FORM student WHERE age IN(18,19) ;
NOT 操作符 :
NOT: 用来否定其后条件的关键字。
SELECT * FROM student WHERE NOT age = 18 ORDER BY name;
LIKE操作符:
如下:检索任意王开头的名字。
SELECT * FROM student WHERE name LIKE '王%';