SQL语言的分类:DDL(数据库、表的增、删、改)、DML(数据的增、删、改)

数据库管理系统(数据库软件)功能非常多,不仅仅是存储数据,还要包含:数据的管理、表的管理、库的管理、账户管理、权限管理等。

操作数据库的SQL语言,基于功能,划分为4类:

1、数据定义:DDL(Data Definition Language)

复制代码
库的创建、删除,表的创建、删除等;

2、数据操纵:DML(Data Manipulation Language)

复制代码
新增数据、删除数据、修改数据等;

3、数据控制:DCL(Data Control Language)

复制代码
新增用户、删除用户、密码修改、权限管理等;

4、数据查询:DQL(Data Query Language)

复制代码
基于需求查询和计算数据;

SQL语法特征

1、不区分大小写

2、可以单行或多行书写,最后以;号结束

3、支持注释

复制代码
单行注释:-- 注释内容
单行注释:# 注释内容
多行注释:/*注释内容*/(要以换行写更多内容)
PS:不同的数据库软件或不同的系统版本等因素,可能支持的单行注释的方式不一样,以上两种可以尝试,至少会有一种是可以实现单行注释的;

DDL(数据定义:数据库、表相关操作)

一、数据库

查看数据库

复制代码
SHOW DATABASES;

使用数据库

复制代码
USE 数据库名称;

创建数据库

复制代码
CREATE DATABASE 数据库名称 [CHARSET UTF8];
说明:中括号里的内容是可选的内容,可以写,也可以不写,但是建议写上,选择以UTF8作为编码;

删除数据库

复制代码
DROP DATABASE 数据库名称;

查看当前使用的数据库

复制代码
SELECT DATABASE();

二、表

查看有哪些表

复制代码
SHOW TABLES;
说明需要先选择数据库,才能查看当前数据库中的表;

创建表

复制代码
语法:
CREATE TABLE 表名称(
		列名称 列类型,
		列名称 列类型,
		......
);

列类型说明
int -- 整数
float -- 浮点数
varchar(长度) -- 文本,长度为数字,做最大长度限制,数字必须填写
date -- 日期类型
timestamp -- 时间戳类型

删除表

复制代码
DROP TABLE 表名称;
DROP TABLE IF EXISTS 表名称;

DML(数据操纵:增、删、改)

数据库操作语言,用来对数据库中表的数据记录进行更新。

关键字:

插入:INSERT

删除:DELETE

更新:UPDATE

一、INSERT - 插入数据

基础语法:

复制代码
INSERT INTO 表名[ (列1, 列2, 列3,......, 列N) ] VALUES (值1, 值2, 值3, ......, 值N) [ (值1, 值2, 值3, ......, 值N),  (值1, 值2, 值3, ......, 值N), ...... (值1, 值2, 值3, ......, 值N)]
说明:中括号中的内容是可选

例:插入一条数据

复制代码
INSERT INTO 表名(列1, 列2, 列3,......, 列N) VALUES (值1, 值2, 值3, ......, 值N)

例:插入多条数据

复制代码
INSERT INTO 表名(列1, 列2, 列3,......, 列N) VALUES(值1, 值2, 值3, ......, 值N),  (值1, 值2, 值3, ......, 值N), ...... (值1, 值2, 值3, ......, 值N)

插入数据的值跟列是一一对应的,值要符合列的数据类型,才能插入成功。

例:列1是int类型,值1写varcher,则不可以,要写int类型才行

二、DELETE - 删除数据

基础语法:

复制代码
DELETE FROM 表名称 [WHERE 条件判断];

说明:加WHERE条件,删除符合条件的数据,不加WHERE条件,直接删除整张表所有的数据

条件判断

复制代码
操作符:= < > >= <= != 等
字段名 = 值
例:
id = 2
name != '小明'
price >= 12.22

三、UPDATE - 更新数据

基础语法

复制代码
UPDATE 表名 SET 列 = 值 [WHERE 条件判断];

说明:加WHERE条件,更新符合条件的列的值,不加WHERE条件,将整表的列的值全部更新。

条件判断

复制代码
操作符:= < > >= <= != 等
字段名 = 值
例:
id = 2
name != '小明'
price >= 12.22

例1:带WHERE条件

题目:表中字段名sname,值有小明,将小明的值更新为小雨

复制代码
语句:UPDATE 表名 SET name = '小雨' WHERE name = '小明'

执行完成后,表中所有叫【小明】的将替换为【小雨】没有小明的名字了

例2:不带WHERE条件

表中字段中sname,有小兵、小雨、小花

复制代码
语句:UPDATE 表名 SET sname = '小天'

执行完成后,表中name字段的所有的值都显示为【小天】了

注意:字符串的值,要用英文单引号'值'包围起来

相关推荐
小巫程序Demo日记6 分钟前
Spring Cache与Redis集成原理
数据库·spring boot·python
maomi_952618 分钟前
操作系统之系统IO
服务器·前端·数据库
江畔独步24 分钟前
Redis清空缓存
数据库·redis·缓存
wowocpp35 分钟前
mysql数据库的线程连接数、状态 、最大并发数、缓存等参数配置
数据库·mysql·缓存
UniLCodes1 小时前
[特殊字符] MySQL MCP 开发实战:打造智能数据库操作助手
数据库·mysql·adb
ling-451 小时前
MySQL-运维篇
数据库·mysql
小汤猿人类1 小时前
ES关系映射(数据库中的表结构)
大数据·数据库·elasticsearch
煤烦恼1 小时前
Spark-Sql编程(三)
大数据·sql·spark
Fanche4042 小时前
SQL 语句基础(增删改查)
运维·数据库·sql·mysql·web安全·oracle
King.6242 小时前
SQL2API 核心理念:如何重构数据服务交付范式
大数据·开发语言·数据库·人工智能·sql·lua