SQL学习笔记(1)

【7月28日 学习记录】

1.SQL SELECT
SELECT语句用于从数据库中选取数据。
SELECT colum_name,column_name FROM table_name;

SELECT * FROM table_name;
首先,要注意的是,sql语句中关键字和变量是不存在大小写的关系的,但是为了区别,一般关键字大写。
其次,每条语句后都要有分号。
最后,主要colum_name和table_name要写争取。

2.SQL SELECT DISTINCT
一个列中,可能存在多个重复的值,通过DISTINCT,可以排除重复的值,只留下不重复的。
SELECT DISTINCT column_name FROM table_name;

3.SQL WHERE
WHERE语句是用于提取那些满足指定标准的记录。
SELECT colum_name,column_name FROM table_name WHERE column_name operator value;
operator 代表运算符
value代表数值,如果数值是字符型的,那么要添加单引号。
附:
WHERE 子句中的运算符
下面的运算符可以在 WHERE 子句中使用:
  描述
= 等于
<> 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
IN 指定针对某个列的多个可能值

4.SQL AND&OR
对于AND,要前后两者都要成立;对于OR,则有一方成立即可。
SELECT * FROM table_name WHERE column_name = ‘ ’AND column_name=‘ ’;
OR语句同理。

5.SQL ORDER BY
ORDER BY关键字用于对结果集进行按照一列或者多列的排序。
默认情况是按照升序排列(ASC),如果需要奖序,则添加DESC。
SELECT * FROM table_name ORDER BY column_name ;

6.SQL INSERT INTO
INSERT INTO语句用于插入到表中。
INSERT INTO table_name(column_name,column_name) VALUES(value1,value2);

注意,插入的表中,是否有数值是自动递增的。

7.SQL UPDATE
UPDATE用于更新已经存在的值。
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

注意,使用update的时候,一定要使用where来限定条件,不然整个表就全更新了。

【7月29日 学习记录】

1.SQL SELECT TOP
SELECT TOP用于规定要返回记录的数量
用法:
SELECT column_name(s) FROM table_name LIMIT number;
实例:
SELECT * FROM PERSON LIMIT 5;

数字的作用其实就是返回多少条语句。

2.SQL LIKE操作

LIKE操作符用于在WHERE字句中搜索列的指定模式
语法:
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern ;

pattern中要使用通配符进行模糊查询。

3. SQL IN
IN 允许在where中使用规定多个值
语法:
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2...)

4.SQL BETWEEN
BETWEEN用于取介于两个值之间的数据范围内的值。这些值可以是数值,文本,和日期。
语法:
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 and value2;

BETWEEN和IN最好进行配合使用。

5.SQL别名。
通过使用别名,尤其是表别名,可以更快的查找。
表的SQL别名语法:
SELECT column_name(s) FROM table_name AS alias_name;

在下面的情况下,使用别名很有用:
  • 在查询中涉及超过一个表
  • 在查询中使用了函数
  • 列名称很长或者可读性差
  • 需要把两个列或者多个列结合在一起

总之来说,别名很重要。

6.SQL 连接(JOIN)
(1)INNER JOIN
通过两张表相同的关键字进行连接。

SELECT  column_name(s)
FROM  table1
JOIN  table2
ON  table1.column_name = table2.column_name ;

(2)LEFT JOIN
以左表为基准,进行匹配,即使右表中没有左表的数据,也会进行显示。
SELECT  column_name(s)
FROM  table1
LEFT JOIN  table2
ON  table1.column_name = table2.column_name ;

select.....后接要显示的列
from ... left join ... 要连接的两张表
on....连接的条件
同样的,right join也是同理的。

7.SQL UNION
UNION操作符用于合并两个或者多个SELECT语句。
但是要注意的是,UNION连接的两个select语句,必须要是相同数量的列,以及相似的数据类型,才可以使用。
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

UNION只显示一次出现的,不显示重复的。
如果需要显示重复的,则需要使用UNION ALL。

8.创建数据库和表
(1)创建数据库
CREATE DATABASE dbname;
(2)创建表
首先要在数据库下进行运行
CREATE TABLE table_name
{
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
};
9.SQL 约束
在 SQL 中,我们有如下约束:
  • NOT NULL - 指示某列不能存储 NULL 值。
  • UNIQUE - 保证某列的每行必须有唯一的值。
  • PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
  • FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
  • CHECK - 保证列中的值符合指定的条件。
  • DEFAULT - 规定没有给列赋值时的默认值。

(1)NOT NULL
约束字段必须包含值,如果不包含,那么无法进行插入或者更新操作。
(2)UNIQUE
UNIQUE是约束唯一标识数据库表中的每条记录。
同时UNIQUE可以是空值。
(3)PRIMARY KEY
是主键,一个表只能有一个PRIMARY KEY!
(4)FOREIGN KEY
作为另一个表中的外键

(5)CHECK
约束特定值

(6)DEFAULT
插入默认值







你可能感兴趣的:(大杂烩)