自己做网站的给微信取个什么名字好,哪个电商平台最好,广州联雅网络科技有限公司,花都网站建设网页设计sql语法学习 sql各种语法 sql增删改查 数据库各种操作 数据库指令
学习SQL语法时#xff0c;理解其基本结构和用法是关键。下面是SQL语法的详细学习指南#xff0c;涵盖了SQL的主要部分#xff0c;包括查询、插入、更新、删除、表操作等。
1. 基本查询语法
SQL 的查询语句…sql语法学习 sql各种语法 sql增删改查 数据库各种操作 数据库指令
学习SQL语法时理解其基本结构和用法是关键。下面是SQL语法的详细学习指南涵盖了SQL的主要部分包括查询、插入、更新、删除、表操作等。
1. 基本查询语法
SQL 的查询语句主要使用 SELECT 语句从数据库中提取数据。
1.1. SELECT 查询
SELECT column1, column2, ...
FROM table_name;
示例SELECT name, age FROM students;
1.2. SELECT ALL 与 DISTINCT
ALL 是默认的返回所有行包括重复行。 DISTINCT 用于消除重复行只返回唯一的结果。
SELECT DISTINCT column1 FROM table_name;1.3. WHERE 子句
用于筛选符合条件的记录。
SELECT column1, column2
FROM table_name
WHERE condition;
示例SELECT name, age
FROM students
WHERE age 18;1.4. 逻辑运算符
: 等于或 !: 不等于
: 大于
: 小于
: 大于等于
: 小于等于
BETWEEN: 在两个值之间
IN: 在指定的集合中
LIKE: 模糊匹配
AND、OR、NOT: 逻辑运算符示例 SELECT *
FROM students
WHERE age 18 AND name LIKE A%;
2. 数据排序 (ORDER BY)
使用 ORDER BY 对查询结果进行排序默认是升序。
SELECT column1, column2 FROM table_name ORDER BY column1 [ASC|DESC]; 示例
SELECT name, age
FROM students
ORDER BY age DESC;3. 聚合函数
COUNT(): 计算记录数量 SUM(): 计算总和 AVG(): 计算平均值 MAX(): 最大值 MIN(): 最小值 示例
SELECT COUNT(*) AS total_students
FROM students;4. GROUP BY 子句
将数据按某列分组并结合聚合函数使用。
SELECT column1, COUNT(*) FROM table_name GROUP BY column1; 示例
SELECT age, COUNT(*)
FROM students
GROUP BY age;5. HAVING 子句
HAVING 类似于 WHERE但用于过滤聚合后的数据。
SELECT column1, COUNT(*)
FROM table_name
GROUP BY column1
HAVING COUNT(*) 1;6. 连接 (JOIN)
用于从多个表中获取数据最常用的连接方式有内连接、外连接、左连接、右连接。
6.1. INNER JOIN (内连接)
只返回两个表中匹配的记录。
SELECT a.column1, b.column2
FROM table1 a
INNER JOIN table2 b
ON a.common_field b.common_field;6.2. LEFT JOIN (左连接)
返回左表的所有记录即使右表中没有匹配的记录。
SELECT a.column1, b.column2
FROM table1 a
LEFT JOIN table2 b
ON a.common_field b.common_field;6.3. RIGHT JOIN (右连接)
返回右表的所有记录即使左表中没有匹配的记录。
SELECT a.column1, b.column2
FROM table1 a
RIGHT JOIN table2 b
ON a.common_field b.common_field;6.4. FULL JOIN (全连接)
返回两个表中所有匹配和不匹配的记录。
SELECT a.column1, b.column2
FROM table1 a
FULL JOIN table2 b
ON a.common_field b.common_field;7. 子查询 (Subqueries)
子查询是在一个 SQL 语句中嵌套另一个查询。
SELECT column1
FROM table_name
WHERE column2 (SELECT MAX(column2) FROM table_name2);8. 插入数据 (INSERT INTO)
向表中插入新的记录。
8.1. 基本插入
INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …); 示例
INSERT INTO students (name, age)
VALUES (John, 22);8.2. 插入多个值
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...), (value3, value4, ...);9. 更新数据 (UPDATE)
用于修改表中的现有记录。
UPDATE table_name SET column1 value1, column2 value2 WHERE condition; 示例
UPDATE students
SET age 23
WHERE name John;10. 删除数据 (DELETE)
用于删除表中的记录。
DELETE FROM table_name WHERE condition; 示例
DELETE FROM students
WHERE age 18;11. 创建表 (CREATE TABLE)
创建一个新表。
CREATE TABLE table_name ( column1 datatype, column2 datatype, … ); 示例
CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT
);12. 修改表结构 (ALTER TABLE)
修改现有表的结构比如添加、删除列等。
12.1. 添加列
ALTER TABLE table_name
ADD column_name datatype;12.2. 删除列
ALTER TABLE table_name
DROP COLUMN column_name;12.3. 修改列的数据类型
ALTER TABLE table_name
MODIFY COLUMN column_name datatype;13. 删除表 (DROP TABLE)
删除整个表以及表中的所有数据。
DROP TABLE table_name;14. 事务 (TRANSACTIONS)
事务确保一系列操作要么全部成功要么全部失败。
14.1. 开启事务
START TRANSACTION;14.2. 提交事务
COMMIT;14.3. 回滚事务
ROLLBACK;15. 索引 (INDEX)
索引用于提高数据库查询的效率。
CREATE INDEX index_name
ON table_name (column1, column2, ...);16. 视图 (VIEW)
视图是基于 SQL 查询结果的虚拟表。
CREATE VIEW view_name AS
SELECT column1, column2
FROM table_name
WHERE condition;17. 常见的SQL数据类型
17.1. 数值类型
INT、INTEGER: 整数
FLOAT、DOUBLE: 浮点数
DECIMAL: 精确小数17.2. 字符串类型
CHAR: 固定长度字符串
VARCHAR: 可变长度字符串
TEXT: 大文本17.3. 日期和时间类型
DATE: 日期YYYY-MM-DD
TIME: 时间HH:MIDATETIME: 日期和时间YYYY-MM-DD HH:MI