当前位置: 首页 > news >正文

CAU数据库class2 SQL语言

SQL分类

数据库的分类

DDL

数据库操作

查询数据库:

查询所有数据库

show databases; 

查询名字里有t的数据库

show databases like '%t%';

查询名字以t为结尾的数据库

show databases like '%t';

查看数据库name是怎么创建出来的

show create database name;
创建数据库

创建数据库name

create database name;

可设置创建数据库的编码格式

Create database name character set utf-8mb4 ;

编码格式
编码格式

关键字问题:

create database `table`

table加了引号,因为这是一个关键字,不能直接作为名字

不能创建同名数据库,但可以用一下语句来使创建语句不报错
create database if not exists table;
删除数据库

删除数据库

drop database name;
切换数据库
use name;

数据表操作

查询表

查询所有表

show tables

查看表结构

desc 表名;

​查询指定表的建表语句

show create table 表名;
创建表

创建一张如下的表
tb_user

create table tb_user{
id int commet ‘编号’,
name varchar(50) comment '姓名',
age int comment '年龄',
gender varchar(1) comment '性别'
} comment '用户表';

数据类型:
数量类型
字符串:
字符串
创建表的格式问题:
格式问题

修改表

添加字段:
为表emp添加一个昵称为nickname的字段

alter table emp add nickname varchar(20)  comment '昵称'

修改数据类型

alter table 表名 modify 字段名 新数据类型(长度);

修改字段名和字段类型

alter table 表名 chance 旧字段名 新字段名 类型;

删除字段

alter table 表名 drop 字段名;

修改表名

alter table 表名 rename to 新表名;
删除表

删除表

drop table [if exists] 表名

删除表并重新创建表

truncate  table 表名

DML

全名数据操作语言,对数据进行增删改查

插入数据

给指定字段添加数据:

insert into 表名 (字段名1, 字段名2...value (1, 值2...;

给全部字段添加数据:

insert into 表名 values (值1, 值2...)

批量添加数据:

insert into 表名 (字段名1, 字段名2...values (1, 值2...)(1, 值2...),(1, 值2...);

字段名也可以不用加
注意事项

修改数据

update 表名 
set 字段名1 =1,
字段名2 =2...
[while 条件];

例如:
例子

删除数据

delete from 表名
[where 条件];

例子

查询数据

select 字段名(可以用*fromwhere 条件;

DQL

数据查询语言

查询

查询多个字段
在这里插入图片描述
字段设置别名
在这里插入图片描述
去除重复记录
在这里插入图片描述
条件查询
在这里插入图片描述
条件:
在这里插入图片描述

常用逻辑运算符
在这里插入图片描述

聚合函数

将一列数据作为一个整体,进行纵向计算
在这里插入图片描述
NULL值是不参与所有聚合函数运算的
在这里插入图片描述

分组查询

下面是一个分组查询的例子
在这里插入图片描述
查询结果:
在这里插入图片描述
一个加上having关键字后的例子
在这里插入图片描述
having和where的区别:

  1. where是分组之前过滤而having是分组之后过滤
  2. where不能用聚合函数作为条件

排序查询

例子:
升序:
在这里插入图片描述
降序:
在这里插入图片描述

多条件排序:
在这里插入图片描述
分页查询:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/764ecc734f324235在这里插入图片描述
b5d38a10307db01e.png)
在这里插入图片描述
在这里插入图片描述

DQL执行顺序:

在这里插入图片描述

DCL

在这里插入图片描述
MySQL客户端连接服务端的权限说明
在这里插入图片描述
sql.user表中常用的字段分类:
在这里插入图片描述

查询用户

在这里插入图片描述

创建用户

在这里插入图片描述
在这里插入图片描述
在创建用户时,可以添加WITH直接为用户指定可操作的资源范围,如登录的用户在一小时内可以查询数据的次数等。
在这里插入图片描述
在这里插入图片描述
在创建用户时,不仅可以为用户设置密码,还可以为密码设置有效时间。
在这里插入图片描述
在这里插入图片描述
利用ACCOUNT 关键字可以为创建的用户设置是否被锁定。
它有两个可选值,分别为LOCK(锁定)和UNLOCK(解锁)。被锁定的用户不能在客户端登录MySQL服务器。
在这里插入图片描述

设置密码

在这里插入图片描述

删除用户
DROP USER [IF EXISTS] 账户名 [, 账户名];

在这里插入图片描述

权限控制

常用权限:
在这里插入图片描述

查询权限

在这里插入图片描述

授予权限

语法:
在这里插入图片描述
例子:

-- 授予用户对特定表的INSERT, UPDATE, DELETE权限
GRANT INSERT, UPDATE, DELETE ON database_name.table_name TO 'username'@'host';-- 授予用户WITH GRANT OPTION(可以转授权限)
GRANT SELECT ON database_name.* TO 'username'@'host' WITH GRANT OPTION;

在这里插入图片描述
在为用户授予权限时可以分为六种不同的等级
在这里插入图片描述

回收权限

语法:
在这里插入图片描述
例子:
在这里插入图片描述

刷新权限

GRANT、 CREATE USER等操作会将服务器的缓存信息保存到内存中,而REVOKE、 DROP USER操作并不会同步到内存中,因此可能会造成服务器内存的消耗,所以在REVOKE、 DROP USER后推荐使用MySQL提供的“FLUSH PRIVILEGES”重新加载用户的权限。
在这里插入图片描述

SQL函数

字符串函数

在这里插入图片描述
在这里插入图片描述

数值函数

在这里插入图片描述
在这里插入图片描述

日期函数

在这里插入图片描述
在这里插入图片描述

流程函数

在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/530191.html

相关文章:

  • Java 中Supplier延迟生成值的原因
  • AI提示词魔法公式 - 轻松应对70%挑战
  • LeetCode 39. 组合总和 LeetCode 40.组合总和II LeetCode 131.分割回文串
  • IDC数据中心动力环境监控系统解决方案
  • 安防综合管理系统EasyCVR视频融合平台安防知识:门禁系统与视频监控系统如何联动?
  • Supermemory:让大模型拥有“长效记忆“
  • Vue.js教学第六章:Vue 开发的高效路径,组件化基础
  • 如何设计一个二级缓存(Redis+Caffeine)架构?Redis 6.0多线程模型如何工作?
  • 【盈达科技】GEO优化实战策略
  • BUUCTF PWN刷题笔记(持续更新!!)
  • 2025年全国青少年信息素养大赛(图形化编程)小高组初赛真题及答案解析总结
  • App 发布后才想起安全?iOS 后置混淆的实战方法与工具路线(含 Ipa Guard 应用体验)
  • C++面试4-sizeof解析
  • Python Day26 学习
  • Flink流处理:实时计算URL访问量TopN(基于时间窗口)
  • GitHub 趋势日报 (2025年05月18日)
  • 《CF25E Test》
  • 浏览器的奇幻之旅:从输入网址到页面出现的幕后故事
  • ISO 26262-5 硬件详细设计
  • RV1126多线程获取SMARTP的GOP模式数据和普通GOP模式数据
  • 如何用体育数据做分析:从基础统计到AI驱动的决策科学
  • DB31/T 1545—2025《卫生健康数据分类分级要求》上海地方标准全面解析与未来对医院数据管理以及数据编程影响
  • gtest 库的安装和使用
  • 【保姆级】Nginx简介以及安装
  • vue3中element-plus修改el-tooltip的宽度
  • vue2使用three.js实现一个旋转球体
  • AI自媒体封面生成系统
  • c++字符串常用语法特性查询示例文档(二)
  • HarmonyOS开发样式布局
  • web常见的攻击方式