SQL基础知识

SQL基础知识

SQL 是用于访问和处理数据库的结构化查询语言。
其功能有:
从数据库中获取、查询、插入、更新、删除数据;创建数据库、新表、存储过程、视图;还可以设置表、存储过程和视图的权限。
下面介绍SQL的关键字及函数:
1.SELECT 用于从数据库中选取数据
2.DISTINCT 用于返回唯一不同的值
3.WHERE+条件 用于过滤记录,常与运算符配合使用
比较运算符:=, > ,< ,>= ,<=, !=,<> (不等于)
逻辑运算符:AND ,OR ,NOT (优先级顺序 () , NOT , AND , OR)
特殊条件: IS NULL , DETWEEN AND , IN(多值判断),LIKE(模糊查询, % 表示多个字值,_ 表示一个字符)
不带比较运算符的 WHERE 子句:
当0时转化为 false,会返回一个空集,如:

select studentNo from student where 0   

当其他值是转化为true,将返回表的所有行记录。如:

select  studentNo  from student where 1  --或者
select studentNo from student where 'abc' 

4.OEDER BY 用于对结果集按照一个列或者多个列进行排序。默认按照升序排序。如果需要降序排序可使用 desc关键字。
5.INSERT INTO向表中插入新记录
第一种无需指定要插入数据的列名,只需提供被插入的值即可:

INSERT INTO table_name
VALUES (value1,value2,value3,...);

第二种形式需要指定列名及被插入的值:

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

6.UPDATE 更新表中的记录

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

7.DELETE 删除表中的记录
删除表中所有的行,无撤销操作,需要格外小心。删除表后表结构、属性、索引将保持不变。

DELETE FROM table_name;
DELETE * FROM table_name;

8.TOP 用于规定要返回的记录的数目

SELECT TOP number|percent column_name(s)
FROM table_name;

9.别名
–列的 SQL 别名语法

SELECT column_name AS alias_name
FROM table_name;

表的 SQL 别名语法

SELECT column_name(s)
FROM table_name AS alias_name;

10.JOIN 连接
INNER JOIN:如果表中有至少一个匹配,则返回行
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
FULL JOIN:只要其中一个表中存在匹配,则返回行
11. UNION 合并两个或多个 SELECT 语句的结果。(UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同)

SELECT column_name(s) FROM table1
UNION SELECT column_name(s) FROM table2;

如果允许重复的值,则使用 UNION ALL

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

12.SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。

SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1; 

13.INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的行都不会受影响。

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

14.约束
创建约束ADD 删除约束DROP
NOT NULL - 指示某列不能存储 NULL 空值。
UNIQUE - 保证某列的每行必须有唯一的值。
PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
CHECK - 保证列中的值符合指定的条件。
DEFAULT - 规定没有给列赋值时的默认值。

15.日期

数据类型格式
DATEYYYY-MM-DD
DATETIMEYYYY-MM-DD HH:MM:SS
TIMESTAMPYYYY-MM-DD HH:MM:SS
YEARYYYY 或 YY

16.通用数据类型

数据类型描述
CHARACTER(n)字符/字符串。固定长度 n
VARCHAR(n)字符/字符串。可变长度。最大长度 n
BINARY(n)二进制串。固定长度 n
BOOLEAN存储 TRUE 或 FALSE 值
VARBINARY(n) 或BINARY VARYING(n)二进制串。可变长度。最大长度 n
INTEGER ( p )整数值(没有小数点),精度 p
SMALLINT整数值(没有小数点),精度 5
INTEGER整数值(没有小数点),精度 10
BIGINT整数值(没有小数点),精度 19
DECIMAL(p,s) 或 NUMERIC(p,s)精确数值,精度 p,小数点后位数 s。例如:decimal(5,2) 是一个小数点前有 3 位数小数点后有 2 位数的数字
FLOAT( p)近似数值,尾数精度 p。一个采用以 10 为基数的指数计数法的浮点数。该类型的 size 参数由一个指定最小精度的单一数字组成
REAL近似数值,尾数精度 7
FLOAT近似数值,尾数精度 16
DOUBLE PRECISION近似数值,尾数精度 16
DATE存储年、月、日的值
TIME存储小时、分、秒的值
TIMESTAMP存储年、月、日、小时、分、秒的值
INTERVAL由一些整数字段组成,代表一段时间,取决于区间的类型
ARRAY元素的固定长度的有序集合
MULTISET元素的可变长度的无序集合
XML存储 XML 数据

17.函数

函数功能
AVG()返回数值列的平均值
COUNT()返回匹配指定条件的行数
FIRST()或LAST()返回指定的列中第一个或最后一个记录的值
MAX()或MIN()返回指定列的最大或最小值
SUM()返回数值列的总数
GROUP BY结合聚合函数,根据一个或多个列对结果集进行分组
HAVING增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。HAVING 子句可以筛选分组后的各组数据
UCASE() 或LCASE()把字段的值转换为大写或小写
MID()从文本字段中提取字符 SELECT MID(column_name,start[,length]) FROM table_name;
LEN()返回文本字段中值的长度
ROUND()用于把数值字段舍入为指定的小数位数 SELECT ROUND(column_name,decimals) FROM table_name; column_name要舍入的字段,decimals要返回的小数位数。
NOW()返回当前系统的日期和时间
FORMAT()用于对字段的显示进行格式化 SELECT FORMAT(column_name,format) FROM table_name;
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值