当前位置: 首页 > news >正文

【数据库】sql基本语句

提示:仅供参考

文章目录

  • 一、增删改查基本语句
  • 二、select语句
  • 三、带条件的查询
    • order by用法
    • group by用法
    • join用法
    • distinct用法
  • 四、子查询
  • 五、数据控制
  • 六、事务控制
  • 七、常用函数


一、增删改查基本语句

增:insert、create
删:delete
改:update
查:select

CREATE DATABASE example_db;
DROP DATABASE example_db;

例:
– 插入数据
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
INSERT INTO employees (name, salary) VALUES (‘John Doe’, 75000);

– 更新数据
UPDATE table_name SET column1 = value1 WHERE condition;
UPDATE employees SET salary = salary * 1.1 WHERE department = ‘Engineering’;

– 删除数据
DELETE FROM table_name WHERE condition;
DELETE FROM employees WHERE id = 123;

– 创建表
CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,

);

– 修改表结构
ALTER TABLE table_name ADD column_name datatype;
ALTER TABLE table_name DROP COLUMN column_name;
ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;

– 删除表
DROP TABLE table_name;

– 创建索引
CREATE INDEX index_name ON table_name (column1, column2);

二、select语句

SELECT column_name,column_name
FROM table_name;

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

例:
SELECT * FROM table_name WHERE condition;
SELECT * FROM employees WHERE salary > 50000;

三、带条件的查询

order by用法

ORDER BY 语句用于对一列或者多列数据进行升序(ASC)或者降序(DESC)排列
默认为升序排列,如果要对某元素按降序排列则在对应关键字后添加参数DESC

SELECT column_list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

例:
SELECT * FROM table_name ORDER BY column1 ASC, column2 DESC;

group by用法

GROUP BY 语句用来对相同的数据进行分组和聚合

SELECT column-list
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN

例:
SELECT department, COUNT(*) FROM employees GROUP BY department;
SELECT department, AVG(salary) FROM employees GROUP BY department;

join用法

JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。
类型:
INNER JOIN:如果表中有至少一个匹配,则返回行;
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行;
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行;
FULL JOIN:只要其中一个表中存在匹配,则返回行。

例:
SELECT e.name, d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.id;

distinct用法

依据所确定的表列,过滤掉重复的数据(单表)

四、子查询

例:
SELECT name FROM employees
WHERE department_id IN (SELECT id FROM departments WHERE location = ‘New York’);

五、数据控制

– 授权
GRANT SELECT, INSERT ON table_name TO user_name;

– 撤销权限
REVOKE INSERT ON table_name FROM user_name;

六、事务控制

– 开始事务
BEGIN TRANSACTION;

– 提交事务
COMMIT;

– 回滚事务
ROLLBACK;

七、常用函数

– 字符串函数
SELECT CONCAT(first_name, ’ ', last_name) AS full_name FROM employees;
SELECT UPPER(name), LOWER(email) FROM customers;
SELECT SUBSTRING(description, 1, 50) FROM products;

– 数值函数
SELECT ROUND(price, 2), CEIL(total), FLOOR(average) FROM sales;
SELECT SUM(amount), AVG(score), MAX(temperature) FROM measurements;

– 日期函数
SELECT CURRENT_DATE, CURRENT_TIMESTAMP;
SELECT EXTRACT(YEAR FROM order_date) FROM orders;
SELECT DATE_ADD(order_date, INTERVAL 7 DAY) FROM orders;

– 条件表达式
SELECT name,
CASE WHEN salary > 100000 THEN ‘High’
WHEN salary > 50000 THEN ‘Medium’
ELSE ‘Low’ END AS salary_level
FROM employees;

http://www.dtcms.com/a/399242.html

相关文章:

  • 手机网站应该怎么做建设网站那个公司好
  • linux 常用命令(包含:网络工具、进程管理工具、常用的)
  • Android
  • 产品设计前硬件考虑的事/示波器/EMC/EMI/热敏电阻
  • UE5GAS GameAbility源码解析 CommitAbility
  • 深圳 网站设计公司排名南通建筑人才网
  • 基于C#实现TCP/UDP通信及文件传输
  • Product Hunt 每日热榜 | 2025-09-23
  • 未来信息综合技术
  • 自己做网站卖什么网站建设侵权行为有哪些
  • 《笑傲江湖Ⅱ:东方不败》的Python实现
  • Redission3.11能连接Redis6+的吗,怎么连接
  • 【C语言代码】数组排序
  • 网站自动识别手机辣条网站建设书
  • 做信息图的网站有哪些深圳企业建站平台
  • 【AI论文】潜在区域划分网络:生成建模、表征学习与分类的统一原理
  • 网站 建设ppt网络舆情的应对及处理
  • Qwen又把Qwen-Image-Edit升级了!
  • 楼盘网站开发报价企业服务平台网站建设
  • 网站建设有利于关于绿色环保网站的建设历程
  • 【Linux】基础指令和基础知识点
  • 阅读的网站建设需要多少钱中小企业网站建设流程
  • 【远程桌面】运维强推工具之远程控制软件RustDesk 1.4.1 全面指南:开源远程桌面的终极解决方案
  • 水印网站用什么网站做海报 知乎
  • 单页网站seo优化自己做网站系统
  • 法术属性释义
  • 网站点击量在哪里看品牌公关
  • wordpress的标题怎么修改整站优化关键词排名
  • 【办公类-109-05】20250923插班生圆牌卡片改良01:一人2个圆牌(接送卡被子卡床卡入园卡_word编辑单面)
  • Spring Boot 接入 Redis Sentinel:自动主从切换与读写分离实战(修复单机多实例与 Sentinel 配置坑)