MySql学习笔记
SQL 通用语法
- SQL 语句可以单行或多行书写, 必须以分号(;)结尾。
- SQL 语句可以使用空格或缩进增强可读性, 不影响执行结果。
- MySQL 中 SQL 语句 不区分大小写, 但 关键字建议使用大写。
-
注释写法:
-
单行注释:
-- 注释内容或# 注释内容(MySQL 特有) -
多行注释:
/* 注释内容 */
-
单行注释:
学习理解:SQL 本身对格式并不敏感,但良好的书写规范 会极大降低维护成本,这一点在多人协作中尤为重要。
SQL 分类
-
DDL(数据定义语言):
用来定义数据库对象
(数据库、表、字段)
-
DDL-数据库操作
- 查询(查询所有数据库)
SHOW DATABASES;- 创建
CREATE DATABASE 数据库名;- 删除
DROP DATABASE 数据库名;- 使用
USE 数据库名;
-
DDL-表操作
- 查询(查询所有表)
SHOW TABLES;- 创建表
CREATE TABLE 表名(字段 字段类型);- 查看表结构
DESC 表名;- 查看建表语句
SHOW CREATE TABLE 表名;- 删除表
DROP TABLE 表名;
-
DDL-数据库操作
-
DML(数据操作语言):
用来对表中数据进行
增(INSERT)、删(DELETE)、改(UPDATE)
-
DML-插入数据
INSERT INTO students VALUES (...);
-
DML-修改数据
UPDATE students SET score=90 WHERE id=1;
-
DML-删除数据
DELETE FROM students WHERE score < 60;
-
DML-插入数据
-
DQL(数据查询语言):
用来查询数据库表中的数据
-
DQL-基础查询
SELECT * FROM students;
-
DQL-条件查询
SELECT * FROM students WHERE score >= 60;
-
DQL-分组查询
SELECT className, AVG(score) FROM students GROUP BY className;
-
DQL-子查询
SELECT * FROM students WHERE score > (SELECT AVG(score) FROM students);
-
DQL-基础查询
-
DCL(数据控制语言):
用来控制数据库用户权限
GRANT SELECT ON test.* TO 'user'@'localhost';REVOKE SELECT ON test.* FROM 'user'@'localhost';