-------------------------------------------------------------------------------------------
学习自:00-JavaWeb整体介绍_哔哩哔哩_bilibili(系列视频)
-------------------------------------------------------------------------------------------
一、SQL通用语法:
1.SQL语句可以单行或多行书写(以分号结尾)
- MySQL数据库的SQL、语句不区分大小写(关键字建议使用大写)
3.注释:
单行注释:-- 注释内容(”-- “ --> ”杠杠空格“) / #注释内容(不用加空格)
多行注释:/注释/
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
二、语法和分类(DDL、DML、DQL、DCL)
------------------------------------------------------------------------------------------
1.DDL(Data Definition Language)-数据定义语言:用来定义数据库对象:数据库,表,列等
(DDL:操作数据库、表等)
(1).DDL -- 操作数据库:
(1.1)查询:
SHOW DATABASES;
(1.2)创建:
*创建数据库:
CREATE DATABASE (数据库名称);
*创建数据库(判断,如果不存在则创建):
CREATE DATABASE IF NOT EXISTS(数据库名称);
(1.3)删除:
*删除数据库:
DROP DATABASE (数据库名称);
*删除数据库(判断,如果存在则删除):
DROP DATABASE IF EXISTS (数据库名称);
(1.4)使用数据库:
*查看当前使用的数据库:
SELECT DATABASE();
*使用数据库:
USE (数据库名称);
(2).DDl -- 操作表(CRUD):
(2.1)创建(Create):
CREATE TABLE tb_user( id INT, username VARCHAR(20), password VARCHAR(20) );
(2.2)查询(Retrieve):
*查询当前数据库下所有表名称:
SHOW TABLES;
- 查询表结构:
DESC (表名称);
(2.3)修改(Update):
*修改表名:
ALTER TABLE (表名) RENAME TO (新的表名);
*添加一列:
ALTER TABLE (表名) ADD (列名) (数据类型);
*修改数据类型:
ALTER TABLE (表名) MODIFY (列名) (新数据类型);
*修改列名和数据类型:
ALTER TABLE (表名) CHANGE (列名) (新列名) (新数据类型);
*删除列:
ALTER TABLE (表名) DROP (列名);
(2.4)删除(Delete):
*删除表:
DROP TABLE (表名);
*删除表时判断表是否存在:
DROP TABLE IF EXISTS (表名);
2.DML(Data Manipulation Language)-数据操作语言:用来对数据库中表的数据进行增删改
(⭐重点)
(DML:对表中的数据进行增删改)
1.添加(insert):
*给指定列添加数据:
INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...);
*给全部列添加数据:
INSERT INTO 表名 VALUES(值1,值2,...);
*批量添加数据:
INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...;
INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...;
2.修改(update):
*修改表数据:
UPDATE 表名 SET 列名1=值1,列名2=值2,... [WHERE 条件];
3.删除(delete):
*删除数据:
DELETE FROM 表名 [WHERE 条件];
(法外狂徒张三没了)
3.DQL(Data Query Language)-数据查询语言:用来查询数据库中表的记录(数据)
(⭐重点)
(DQL:对表中的数据进行查询)
(删除原本stu表,新建stu表,添加数据)
1.基础查询:
*查询多个字段:
SELECT 字段列表 FROM 表名;
SELECT * FROM 表名; -- 查询所有数据
(尽量不要使用,不方便查看列名和加注释)
*去除重复记录:
SELECT DISTINCT 字段列表 FROM 表名;
*起别名:
AS; -- AS 也可以省略
2.条件查询(WHERE):
SELECT 字段列表 FROM 表名 WHERE 条件列表;
(2.1).除了条件ike以外的大部分条件:
(2.2).条件ike(模糊查询 )的使用(通配符:_单个任意字符 %多个任意字符):
3.分组查询(GROUP BY):
1.聚合函数(进行统计的操作,不然分组也没有意义):
SELECT 聚合函数名(列名) FORM 表;
(english列有一个null,count函数无法统计到)
【建议直接使用 count(*),除非为空行(一行都没有数据),否则就会进行统计,而且还会统计计算最快的一列】
(english列有一个null值,null值不参与所有聚合函数运算)
2.分组查询(GROUP BY):
SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];
4.排序查询(ORDER BY):
SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2] ...;
5.分页查询(LIMIT):
SELECT 字段列表 FROM 表名 LIMIT 起始索引 , 查询条目数;
4.DCL(Data Control Language)-数据控制语言:用来定义数据库的访问权限和安全级别和创建用户
(DCL:对数据库进行权限控制)
====================================================
觉得有帮助的话可以点赞、评论、收藏哦!
感谢观看,加油学习,祝你一天好心情!