SQL语句 |
描述 |
示例 |
说明 |
SELECT |
查询数据库中的数据 |
SELECT * FROM users; |
查询表users 中的所有数据 |
INSERT |
向数据库表中插入数据 |
INSERT INTO users (username, email) VALUES (‘John’, ‘john@example.com’); |
向表users 插入一条数据 |
UPDATE |
更新数据库表中的数据 |
UPDATE users SET email = ‘john_new@example.com’ WHERE username = ‘John’; |
更新表users 中用户名为’John’的用户的电子邮件地址 |
DELETE |
删除数据库表中的数据 |
DELETE FROM users WHERE username = ‘John’; |
删除表users 中用户名为’John’的用户数据 |
CREATE TABLE |
创建一个新表 |
CREATE TABLE users (id INT PRIMARY KEY, username VARCHAR(50), email VARCHAR(100)); |
创建一个名为users 的表,包含id, username和email列 |
DROP TABLE |
删除一个表 |
DROP TABLE users; |
删除表users |
ALTER TABLE |
修改表结构(如添加/删除/修改列) |
ALTER TABLE users ADD COLUMN age INT; |
在表users 中添加一个名为age 的整数列 |
CREATE INDEX |
为表中的列创建索引,以提高查询速度 |
CREATE INDEX idx_users_username ON users(username); |
为表users 的username 列创建一个索引 |
CREATE VIEW |
创建一个视图,用于简化复杂查询或保护数据安全 |
CREATE VIEW view_users AS SELECT username, email FROM users; |
创建一个名为view_users 的视图,只显示username 和email 列 |
JOIN |
连接多个表,以便在一次查询中获取相关数据 |
SELECT u.username, o.order_id FROM users u JOIN orders o ON u.id = o.user_id; |
查询users 表和orders 表的连接结果,显示用户名和订单ID |
GROUP BY |
将查询结果按指定列分组,通常与聚合函数(如COUNT、SUM等)一起使用 |
SELECT country, COUNT(*) FROM users GROUP BY country; |
按国家分组查询用户数 |
HAVING |
对分组后的查询结果进行筛选,类似于WHERE子句 |
SELECT country, COUNT() FROM users GROUP BY country HAVING COUNT() > 10; |
查询用户数超过10的国家 |
ORDER BY |
对查询结果按指定列排序 |
SELECT * FROM users ORDER BY username; |
按username 列对查询结果进行排序 |
LIMIT |
限制查询结果的数量 |
SELECT * FROM users LIMIT 10; |
查询表users 中的前10条数据 |
SQL函数 |
描述 |
示例 |
说明 |
COUNT() |
计算指定列的行数 |
SELECT COUNT(*) FROM users; |
计算表users 中的行数 |
SUM() |
计算指定列的总和 |
SELECT SUM(salary) FROM employees; |
计算表employees 中所有员工的总薪水 |
AVG() |
计算指定列的平均值 |
SELECT AVG(salary) FROM employees; |
计算表employees 中员工的平均薪水 |
MIN() |
计算指定列的最小值 |
SELECT MIN(salary) FROM employees; |
计算表employees 中员工的最低薪水 |
MAX() |
计算指定列的最大值 |
SELECT MAX(salary) FROM employees; |
计算表employees 中员工的最高薪水 |
LENGTH() |
计算字符串的长度 |
SELECT LENGTH(username) FROM users; |
计算表users 中username 列的字符串长度 |
LOWER() |
将字符串转换为小写 |
SELECT LOWER(username) FROM users; |
将表users 中的username 列转换为小写 |
UPPER() |
将字符串转换为大写 |
SELECT UPPER(username) FROM users; |
将表users 中的username 列转换为大写 |
TRIM() |
去除字符串两端的空白字符 |
SELECT TRIM(username) FROM users; |
去除表users 中username 列两端的空白字符 |
CONCAT() |
连接字符串 |
SELECT CONCAT(first_name, ’ ', last_name) FROM employees; |
连接表employees 中的first_name 和last_name 列 |
SUBSTR() |
提取字符串中的子字符串 |
SELECT SUBSTR(username, 1, 3) FROM users; |
提取表users 中username 列的前3个字符 |
REPLACE() |
替换字符串中的子字符串 |
SELECT REPLACE(email, ‘@example.com’, ‘@new.com’) FROM users; |
替换表users 中email 列的域名部分 |
NOW() |
获取当前日期和时间 |
SELECT NOW(); |
获取当前日期和时间 |
CURDATE() |
获取当前日期 |
SELECT CURDATE(); |
获取当前日期 |
CURTIME() |
获取当前时间 |
SELECT CURTIME(); |
获取当前时间 |
DATEDIFF() |
计算两个日期之间的天数 |
SELECT DATEDIFF(‘2023-04-30’, ‘2023-04-01’); |
计算两个日期之间的天数 |
DATE_ADD() |
在日期上增加指定的时间间隔 |
SELECT DATE_ADD(‘2023-04-01’, INTERVAL 1 MONTH); |
在 |
本文由 瑾年 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Apr 6,2023