赞
踩
SQL简介
SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系型数据库的编程语言。它被用于创建、修改和查询数据库,以及执行诸如数据插入、删除和更新等各种任务。SQL 在Web开发、数据分析和数据库管理系统中被广泛应用。
SQL允许用户通过简单的语句与数据库进行交互。它使用了一种基于关系模型的方法来组织和存储数据。下面是一些SQL的基本特点和功能:
1.关系型数据库:SQL用于管理关系型数据库,其中数据被组织为表(Table)的形式。表由行(Row)和列(Column)组成,行表示数据记录,列表示数据属性。
2.数据定义语言(DDL):SQL包括数据定义语言,用于创建、修改和删除数据库对象,如表、索引、视图等。例如,CREATE TABLE用于创建表,ALTER TABLE用于修改表结构,DROP TABLE用于删除表。
3.数据操作语言(DML):SQL还包括数据操作语言,用于插入、更新和删除表中的数据。例如,INSERT INTO用于插入数据,UPDATE用于更新数据,DELETE用于删除数据。
4.查询语言(SELECT):SQL提供了强大的查询语言,用于从一个或多个表中检索数据。SELECT语句用于指定所需的列和条件,从而获取满足条件的数据。
5.条件和过滤:SQL允许使用条件和过滤器来限制查询结果。WHERE子句用于指定条件,以筛选满足条件的数据。
6.排序和分组:SQL允许对查询结果进行排序和分组。ORDER BY子句用于按照指定的列对结果进行排序,GROUP BY子句用于按照指定的列对结果进行分组。
7.连接和关联:SQL允许通过连接(JOIN)操作将多个表关联起来。通过指定关联条件,可以检索到相关联的数据。
8.聚合函数:SQL提供了各种聚合函数,如SUM、AVG、COUNT等,用于对数据进行统计和计算。
具体的SQL实现可能在不同的数据库管理系统中略有不同每个系统可能具有自己的附加功能和语法,但基本的SQL概念在不同的实现中基本保持一致。
SQL语法与函数
SELECT语句(用于从数据库中选取数据)
SELECT column1, column2, ...
FROM table_name;
或者
SELECT * FROM table_name;
column1, column2, ...:要选择的字段名称,可以为多个字段。
table_name:要查询的表名称。
SELECT DISTINCT语句(用于返回唯一不同的值。)
SELECT DISTINCT column1, column2, ...
FROM table_name;
column1, column2, ...:要选择的字段名称,可以为多个字段。
table_name:要查询的表名称。
WHERE语句(用于过滤记录,即选择信息)
SELECT column1, column2, ...
FROM table_name
WHERE condition;
column1, column2, ...:要选择的字段名称,可以为多个字段。
table_name:要查询的表名称。
AND与OR运算符
如果要两个条件同时成立就选用AND连接两个条件
如果是两个条件只需要一个成立就选用OR连接两个条件
ORDER BY关键字(用于对结果集进行排序。)
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ASC|DESC;
column1, column2, ...:要排序的字段名称,可以为多个字段。
ASC:表示按升序排序。
DESC:表示按降序排序。
INSERT INTO语句(用于向表中插入新记录)
INSERT INTO table_name
Value(value1, value2, value3, ...);
或者
INSERT INTO table_name (column1, column2, column3... )
VALUES(value1, value2, value3,... )
table_name:需要插入新记录的表名。
column1, column2, ...:需要插入的字段名。
value1, value2, ...:需要插入的字段值。
UPDATE字句(用于更新表中已存在的记录。)
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
table_name:要修改的表名称。
column1, column2, ...:要修改的字段名称,可以为多个字段。
value1, value2, ...:要修改的值,可以为多个值。
condition:修改条件,用于指定哪些数据要修改。
DELETE 语句(用于删除表中的行)
DELECT FROM table_name
WHERE condition;
table_name:要删除的表名称。
condition:删除条件,用于指定哪些数据要删除。
SQL 拥有很多可用于计数和计算的内建函数。
AVG() 函数返回数值列的平均值。
SELECT AVG (column_name) FROM table_name;
COUNT() 函数返回匹配指定条件的行数。
SELECT COUNT (column_name) FROM table_name;
SELECT COUNT(*) FROM table_name;
SELECT COUNT(DISTINCT column_name) FROM table_name;
FIRST() 函数返回指定的列中第一个记录的值。
SELECT FIRST(column_name) FROM table_name
LAST() 函数返回指定的列中最后一个记录的值。
SELECT LAST(column_name) FROM table_name;
MAX() 函数返回指定列的最大值。
SELECT MAX(column_name) FROM table_name;
MIN() 函数返回指定列的最小值。
SELECT MIN(column_name) FROME table_name;
SUM() 函数返回数值列的总数。
SELECT SUM(column_name) FROM table_name;
GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
HAVING 子句可以让我们筛选分组后的各组数据。(由于WHERE 关键字无法与聚合函数一起使用故加入HAVING语句。)
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY clumn_name
HAVING aggregate_function(column_name) operator value;
EXISTS 运算符用于判断查询子句是否有记录,如果有一条或多条记录存在返回 True,否则返回 False。
SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE conditon);
UCASE() 函数把字段的值转换为大写。
SELECT UCASE(column_name) FROM table_name;
LCASE() 函数把字段的值转换为小写。
SELECT LCASE(column_name) FROM table_name;
MID() 函数用于从文本字段中提取字符。
SELECT MID(column_name[, start, length]) FROM table_name;
LEN() 函数返回文本字段中值的长度。
SELECT LEN(column_name) FROM table_name;
ROUND() 函数用于把数值字段舍入为指定的小数位数。
SELECT ROUND(column_name, decimals) FROM TABLE_NAME:
column_name为必须填写的,是要舍入的字段
decimals为可选填的,可以用于规定返回的小数点位数
NOW() 函数返回当前系统的日期和时间。
SELECT NOW() FROM table_name;
FORMAT() 函数用于对字段的显示进行格式化。
SELECT FORMAT(column_name, format) FORM table_name;
DDL(对数据库和表的操作)
#创建数据库
CREATE DATEBASE
#删除数据库
DROP DATABASE 数据库名;
#查看表
SHOW TABLES;
#创建表
CREATE TABLE tb_user (
字段名 数据类型
id INT
);
#删除表
DROP TABLE tb_user ;
#修改表名
ALTER TABLE tb_user RENAME TO tb ;
#修改数据类型
ALTER TABLE tb_user MODIFY 列名 新数据类型 ;
#修改列名和数据类型
ALTER TABLE tb_user CHANGE 列名 新列名 新数据类型 ;
#删除列名
ALTER TABLE tb_user DROP 列名 ;
#添加一列
ALTER TABLE tb_user ADD 列名 数据类型 ;
DML(对表中数据进行增删改)
#添加数据
INSERT INTO 表名(列名1,列名2) VALUE(列名1的数据类型,列名2的数据类型);
#例:INSERT INTO tb_user(id,`name`) VALUE(1,'张三');
#修改某条数据
UPDATE 表名 SET 列名 = 列名的值 WHERE 条件;
# 例:UPDATE tb_user SET age = '19' WHERE `name` = 'zhangsan';
#删除某条数据
DELETE FROM 表名 WHERE 条件;
#例: DELETE FROM tb_user WHERE `name` = 'zhangsan';
DQL(对表中数据进行查询)
基础查询
SELECT 字段名 FROM 表名 ;
SELECT * FROM tb_user; #可以在字段名后as 别名
模糊查询
#查询名字为马xx的同学在tb_user表中
SELECT * FROM tb_user WHERE `name` like = '马%' ;
# 模糊查询中 _(下划线)是任意单个字符,% 是任意多个字符
条件查询
SELECT 列名 FROM 表名 WHERE 条件;
#演示 SELECT * FROM tb_user WHERE `username` = 'zhangsan';
排序查询
SELECT 字段名 FROM 表名 ORDER BY
# 查询学生信息,按照年龄升序排列
SELECT * FROM tb_user ORDER BY age ASC; # asc升序(默认) desc降序
聚合函数
SELECT 聚合函数(字段名) FROM 表名;
#查询本班所有学生的平均年龄
SELECT AVG(age) FROM tb_user ;
分组查询
查询男同学和女同学各自的数学平均分
SELECT sex, AVG(math) FROM tb_user GROUP BY sex ;
分页查询
SELECT 字段名 FROM 表明 LIMIT 开始的索引,查询的条数;
#每页显示3条数据,查询第三页数据
SELECT * FROM tb_user LIMIT 6,3 ;
#开始的索引 = (当前页码-1)* 每页显示的条目数
DCL(对表中数据的约束) 为了校验表中数据的正确性
总结
此篇文章主要介绍了SQL语言的一些内容,粗略涉及到了SQL语言的使用,如果需要进一步了解SQL语言还是需要更多的学习其他文章。
参考文献:csdn 三月水文章;百度;SQL学习手册等。
后端训练营结课作业
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。