SQL概述
SQL(结构化查询语言)是关系型数据库的标准交互语言,几乎所有主流数据库都支持,包括:
商用数据库:Oracle、DB2、SQL Server、Sybase
开源数据库:MySQL、PostgreSQL
小型数据库:Access
SQL核心特点
1. 一体化:集数据定义、操作、控制于一体
2. 使用灵活:可独立使用也可嵌入其他语言
3. 非过程化:只需声明"做什么",无需描述"怎么做"
4. 语法简洁:基于英语关键字,易学易用
SQL四大组成部分
1. 数据定义语言(DDL)
`CREATE`:创建数据库/表
`ALTER`:修改结构
`DROP`:删除对象
示例:
CREATE TABLE students ( student_id INT UNSIGNED, name VARCHAR(30), sex CHAR(1), birth DATE, PRIMARY KEY(student_id) );
2. 数据操作语言(DML)
`INSERT`:插入数据
`UPDATE`:更新数据
`DELETE`:删除数据
`SELECT`:查询数据
示例:
INSERT INTO students VALUES (4105282, 'C 语言网MySQL教程', '3', '2023-02-14');
3. 数据查询语言(DQL)
主要是`SELECT`语句
示例:
SELECT name FROM students WHERE student_id=41048101;
4. 数据控制语言(DCL)
`GRANT`/`REVOKE`:权限管理
`COMMIT`/`ROLLBACK`:事务控制
使用规范建议
1. 关键字大写,表名/列名小写(提高可读性)
2. 注意不同数据库系统的SQL方言差异
3. 标准SQL具有最佳可移植性
注:本总结基于MySQL语法,部分特性在其他数据库中可能略有不同。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程