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字段的所有的值都显示为【小天】了

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

相关推荐
IvorySQL1 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·1 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
野生技术架构师1 小时前
SQL语句性能优化分析及解决方案
android·sql·性能优化
IT邦德1 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫1 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i2 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.2 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
jiunian_cn2 小时前
【Redis】渐进式遍历
数据库·redis·缓存
橙露2 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot