MySQL从0到1全教程【2】SQL语言的通用语法及分类

1 SQL语言的通用语法格式

无论是那种数据库的产品,SQL语法都是通用的。

  • SQL语句可以单行编写也可以多行编写,以分号结尾。
  • SQL语句可以使用空格或者缩进的方式来增强语句的可读性,空格和缩进的数量没有限制。
  • MySQL数据库的SQL语句是不区分大小写的,关键字还是建议使用大写,较为规范,当然也看个人习惯。
  • 关于注释方面有两种情况:
    ①单行注释:–注释内容或者#注释内容(#号注释是MySQL特有的写法)
    ②多行注释:/**注释内容**/

2 SQL语言的几种分类

2.1 DDL(Data Definition Languages)

DDL指的是数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。

主要的语句关键字包括create、drop、alter等。

注意: 在生产环境中,DDL类操作需要慎用,因为不能做roolback操作,一旦执行无法回退

例如:

--创建一个student表
create table student(id int identity(1,1) not null,name varchar(20) null,course varchar(20) null,grade numeric null
)
--student表增加一个年龄字段
alter table student add age int NULL--student表删除年龄字段,删除的字段前面需要加column,不然会报错,而添加字段不需要加column
alter table student drop Column age--删除student表
drop table student --删除表的数据和表的结构
truncate table student -- 只是清空表的数据,,但并不删除表得结构,student表还在只是数据为空

2.2 DML(Data Manipulation Language)

DML指的是数据操作语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。

主要的语句关键字包括insert、delete、update、select等。

例如:

--向student表中插入数据
--数据库插入数据 一次性插入多行多列 格式为INSERT INTO table (字段1, 字段2,字段3) VALUES (值1,值2,值3),(值1,值2,值3),...;
INSERT INTO student (name, course,grade) VALUES ('张飞','语文',90),('刘备','数学',70),('关羽','历史',25),('张云','英语',13);--更新关羽的成立
update student set grade='18' where name='关羽'--关羽因为历史成绩太低,要退学,所以删除关羽这个学生
delete from student where name='关羽'

2.3 DQL(Data Query Language)

DQL指的是数据查询语句,用来进行数据库中数据的查询的,即最常用的select语句

例如:

--从student表中查询所有的数据
select * from student--从student表中查询姓名为张飞的学生
select * from student where name='张飞'

注意:复杂的DQL语句需要以索引做为支撑,如果在条件列内没命中索引,且查询的数据量较大,那么查询的时间将很长

2.4 DCL(Data Control Language)

DCL指的是数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别,比如常见的授权、取消授权、回滚、提交等等操作

主要的语句关键字包括grant、revoke等

①创建用户

CREATE USER 用户名@地址 IDENTIFIED BY '密码';
--创建一个testuser用户,密码111111
create user testuser@localhost identified by '111111';

②给用户授权

GRANT 权限1,, 权限n ON 数据库.对象  TO 用户名;
--将test数据库中所有对象(表、视图、存储过程,触发器等。*表示所有对象)的create,alter,drop,insert,update,delete,select赋给testuser用户
grant create,alter,drop,insert,update,delete,select on test.* to testuser@localhost;

③撤销授权

REVOKE权限1,, 权限n ON 数据库.对象 FORM 用户名;
--将test数据库中所有对象的create,alter,drop权限撤销
revoke create,alter,drop on test.* to testuser@localhost;

④查看用户权限

SHOW GRANTS FOR 用户名;
--查看testuser的用户权限
show grants for testuser@localhost;

⑤删除用户

DROP USER 用户名;
--删除testuser用户
drop user testuser@localhost;

⑥修改用户密码

USE mysql;
UPDATE USER SET PASSWORD=PASSWORD(‘密码’) WHERE User=’用户名’ and Host=’IP’;
FLUSH PRIVILEGES;
--将testuser的密码改为123456
update user set password=password('123456') where user='testuser' and host=’localhost’;
flush privileges; 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/618319.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常常放生,与佛心更相契

弘一法师曾说:“世上最好的放生,就是放过自己。”天地与我并生,万物与我为一,每一个众生最宝贵的是自己的生命。而人自称万物之灵,就应当有爱护万物、保护万物的责任心,心中要有慈悲和恻隐之心,…

金蝶云星空和吉客云单据接口对接

金蝶云星空和吉客云单据接口对接 对接系统:吉客云 吉客云是基于“网店管家”十五年电商ERP行业和技术积累基础上顺应产业发展需求,重新定位、全新设计推出的换代产品,从业务数字化和组织数字化两个方向出发,以构建流程的闭环为依归…

什么是分治法算法思想?

一、问题 分治与递归就像⼀对孪⽣兄弟,在设计算法时经常是同时应⽤的,递归算法⽐较好理解,那么什么是分治法算法思想呢? 二、解答 分治法算法的设计思想就是将⼀个难以直接解决的⼤问题,分割成⼀些规模较⼩的相同问题…

高级JavaScript。如何用JavaScript手撸一个富文本编辑器?

要素过多建议收藏 - 富文本编辑 基本的技术就是在空白 HTML 文件中嵌入一个 iframe 。通过 designMode 属性&#xff0c;可以将这个空白文档变成可以编辑的&#xff0c;实际编辑的则是 <body> 元素 的 HTML 。 designMode 属性有两个可能的值&#xff1a; "…

高级RAG(六): 句子-窗口检索

之前我们介绍了LlamaIndex的从小到大的检索 的检索方法&#xff0c;今天我们再来介绍llamaindex的另外一种高级检索方法: 句子-窗口检索(Sentence Window Retrieval)&#xff0c;在开始介绍之前让我们先回顾一下基本的RAG检索的流程&#xff0c;如下图所示&#xff1a; 在执行基…

Fedora 36 正式发布稳定的Linux桌面版本

Fedora 36今天发布&#xff0c;这是最近一段时间以来又一个强大、前沿而又稳定可靠的Linux发行版本&#xff0c;除了这些特点外&#xff0c;Fedora 36还在原先的基础上增加了新的功能和细节打磨。 Fedora 36使用GNOME 42作为其默认的Fedora工作站桌面环境。 OpenSSL 3.0&#x…

Linux应用编程:定时器

目录 定时任务sleep定时器setitimersetitimersample POSIX Timer创建定时器timer_create启动定时器timer_settime剩余时间timer_gettime定时器超限timer_getoverrun删除定时器timer_deletesample1:信号方式sample2:线程形式 定时任务sleep 嵌入式Linux应用编程中&#xff0c;通…

Wargames与bash知识16

Wargames与bash知识16 Bandit24 关卡提示&#xff1a; 一个守护进程正在端口30002上侦听&#xff0c;如果给定bandit24的密码和一个4位数的密码&#xff0c;它将为您提供bandit25的密码。没有办法检索pincode&#xff0c;除非遍历所有10000个组合&#xff0c;称为暴力强制。您…

用React给XXL-JOB开发一个新皮肤(三):实现登录页和Layout骨架

目录 一. 简述二. 接口服务调整 2.1. 登录接口2.2. 登出接口2.3. 修改密码接口2.4. 修改配置文件 三. 前端HTTP 请求四. 登录页面 4.1. 搭建登录页面4.2. 对接登录接口 五. Layout 骨架 5.1. 搭建骨架5.2. Header5.3. 修改密码5.4. 退出登录 六. 其他 一. 简述 上一篇文章我…

视频监控平台的管理员账号在所有客户端都无法登录的问题解决

目 录 一、问题描述 二、问题排查 1、看问题提示 2、看日志信息 3、问题定位 三、问题解决 1. 添加权限角色 2、添加操作用户 3、验证 一、问题描述 AS-V1000视频监控平台安装部署完成后&#xff0c;发现管理员admin不能到web客户端&#xff0c;觉…

D25XB100-ASEMI家用电器整流桥D25XB100

编辑&#xff1a;ll D25XB100-ASEMI家用电器整流桥D25XB100 型号&#xff1a;D25XB100 品牌&#xff1a;ASEMI 封装&#xff1a;GBJ-5&#xff08;带康铜丝&#xff09; 平均正向整流电流&#xff08;Id&#xff09;&#xff1a;25A 最大反向击穿电压&#xff08;VRM&…

AcWing 103. 电影(map、pair连用or离散化)

题目 方法一&#xff08;mappair&#xff09; 其实上面这么长巴拉巴拉就是在说 首先&#xff0c;每个科学家会的语言都不同。但是呢每部电影的字幕和语言是不一样的&#xff08;字幕和语言一定不相同&#xff09; 要求找到一部电影使得在场能听懂的科学家最多&#xff08;如果存…

Linux Kernel Stack Overflow/Linux 内核栈溢出

不同于Linux应用程序的栈能够动态增长&#xff0c;Linux内核栈是固定的&#xff0c;并且比较小&#xff0c;比如Linux 2.6.x内核&#xff0c;在X86 32位架构上一般是4K或8K&#xff08;在进行内核编译时&#xff0c;Kernel hacking下进行配置&#xff0c;默认8K&#xff09;&am…

上门回收小程序开发,让回收更加简单

资源回收一直是当下深受大众关注的话题&#xff0c;如何做到资源不浪费&#xff0c;成为了大众要考虑的问题。在人们环保意识的加深下&#xff0c;回收行业也是获得了大众的关注&#xff0c;逐渐形成了一个新的商业模式。 随着互联网技术的发展&#xff0c;回收行业也更加方便…

C/S架构,集成三维影像后处理功能,自主版权的一套医院PACS系统源码

一、PACS简介 PACS&#xff08;PictureArchivingandCommunicationsSystem&#xff09;即图像存储与传输系统&#xff0c;是应用于医院的数字医疗设备如CT、MR&#xff08;磁共振&#xff09;、US&#xff08;超声成像&#xff09;、X光机、DSA&#xff08;数字减影&#xff09…

KIBANA可视化管理界面说明

更说明转自https://blog.csdn.net/IT_ZRS/article/details/125496588 1 主要结构功能 使用浏览器访问 ip:5601 默认端口&#xff0c;进入首页 Discover&#xff1a;日志管理视图 主要进行搜索和查询Visualize&#xff1a;统计视图 构建可视化的图表Dashboard&#xf…

【目标检测】YOLOv5算法实现(八):模型验证

本系列文章记录本人硕士阶段YOLO系列目标检测算法自学及其代码实现的过程。其中算法具体实现借鉴于ultralytics YOLO源码Github&#xff0c;删减了源码中部分内容&#xff0c;满足个人科研需求。   本系列文章主要以YOLOv5为例完成算法的实现&#xff0c;后续修改、增加相关模…

JavaWeb,CSS的学习

CSS&#xff0c;层叠样式表&#xff08;Cascading Style Sheets&#xff09;&#xff0c;能够对网页中元素位置的排版进行像素级精确控制&#xff0c;支持几乎所有的字体字号样式&#xff0c;拥有网页对象和模型样式编辑的能力&#xff0c;简单来说&#xff0c;美化页面。 CSS…

c++临时对象的探讨及相关性能提升

产生临时对象的情况 我们定义一个类进行测试 class tempVal { public:int v1, v2;tempVal(int v1 0, int v2 0);tempVal(const tempVal& t) :v1(t.v1), v2(t.v2) {cout << "调用拷贝构造函数" << endl;}virtual ~tempVal() {cout << "…

【python】——turtle动态画

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…