Mysql的基本SQl语句

1.DDL 数据定义语言,开发

针对库表对象增删改create  	创库创表drop		删库删表alter	    修改库表属性
案例1:创建一个数据库,需求如下:
1)库名为edu
2)字符集为utf8
CREATE DATABASE edu DEFAULT CHARACTER SET utf8;帮助方式:
help create database
show create database 库名案例2:修改edu库的字符集为utf8mb4
ALTER DATABASE edu DEFAULT CHARACTER SET utf8mb4;案例3:在edu库中,创建一张表,要求如下:
1)表名 student
2)字段及约束如下:sn   	序号		整形int				主键  	 非空		name	姓名		字符串varchar(20) 			      非空age		年龄		整形int						   非空gender	性别		enum('m','f')				    非空		默认为'm'use edu;
CREATE TABLE student
(
sn int primary key not null,
name varchar(20) not null,
age int not null,
gender enum('m','f') not null default 'm'
); #通过查询表结构来判断表创建成功
DESC 库名.表名;案例4:修改student表的属性,需求如下:
1)表名改为stu
ALTER TABLE student RENAME stu;2)增加一个字段:联系方式tel int not null
#增加一列字段,位置默认最后
ALTER TABLE stu ADD tel int not null;#在第一列增加字段
ALTER TABLE stu DROP tel;
ALTER TABLE stu ADD tel int not null FIRST;#在指定列后增加字段(比如在age字段后加)
ALTER TABLE stu DROP tel;
ALTER TABLE stu ADD tel int not null AFTER age;3)修改姓名的数据类型为char(20)
ALTER TABLE stu MODIFY name char(20) not null;

 

2.DML 数据操作语言,开发

针对表的内容(数据)增删改insert 		插入数据行delete		删除数据行truncate    删除数据行update 		更新数据行
案例1:在edu库的stu表中插入数据,如下:
1,张三,20,1391111222,m方法一:
INSERT INTO stu(sn,name,age,tel,gender) VALUES(1,'张三',20,1391111222,'m');方法二:
INSERT INTO stu VALUES(1,'张三',20,1391111222,'m');方法三:
INSERT INTO stu(sn,name,age,tel) VALUES(1,'张三',20,1391111222);案例2:在edu库的stu表中插入多行数据,如下:
2,李四,22,1301111222,m
3,小芳,19,1801111222,fINSERT INTO stu VALUES
(2,'李四',22,1301111222,'m'),
(3,'小芳',19,1801111222,'f')
;案例2:修改stu表的数据,如下:
1)修改小芳的年龄为18岁
2)修改张三的电话号码为1311111222UPDATE stu SET age=18 WHERE name='小芳';
UPDATE stu SET tel=1311111222 WHERE name='张三';案例3:删除stu表中数据sn为3的数据信息
DELETE FROM stu WHERE sn=3;#删除stu表的所有数据
DELETE FROM stu;
DELETE FROM stu WHERE 1=1;

 

3.DCL 数据控制语言,运维

	grant		授权revoke		解除授权
GRANT 权限 ON 库名.表名 TO 'user'@'host' IDENTIFIED BY '密码';注释:
权限:	SQL语句的命令字ALL 表示所有权限USAGE 表示只能登录的权限如果有多个权限,用","隔开用户名:	在MySQL8.0之前的版本,可以通过GRANT来创建用户并授权在MySQL8.0(含)之后的版本,必须先创建用户,再授权
库名表名可以使用"*"通配所有主机名:"%" 通配any默认情况下,MySQL只有root@'localhost'用户,意味着root用户只能本地登录
例1:授权root用户可以远程登录
GRANT ALL on *.* TO root@'%' IDENTIFIED BY '123';例2:授权tanfei用户可以远程登录10.0.0.51,并对edu库具有所有权限
GRANT ALL ON edu.* TO tanfei@'%' IDENTIFIED BY '123';# 用户tanfei在10.0.0.1登录数据库的时候只能对edu库具有查询权限
GRANT SELECT ON edu.* TO tanfei@'10.0.0.1' IDENTIFIED BY '123';实例:企业中如何知道一个用户的权限有哪些?
步骤:
1.先查看mysql库的user表,看该用户有哪些客户端主机列表
select user,host from mysql.user where user='用户名';
2.根据查询到的用户名@主机名 来查询该用户的授权
show grants for '用户名'@'主机名';REVOKE 
REVOKE 权限 ON 库名.表名 FROM 'user'@'host';

4.DQL 数据查询语言,通用

	select		查询数据show		查询属性
SELECT 字段名 
FROM 表名 
WHERE 条件1 AND 条件2
ORDER BY 排序
GROUP BY 分类;

5.总结

DDL(针对库表的操作)1.show tables; #查看表2.show databases; #查看所有库3.create database 库名 default character set utf8; #创建字符集为utf8的库4.create table 表名
(
sn int primary key not null,
name varchar(20) not null,
age int not null,
gender enum('m','f') not null default 'm'
); #创建表以及表结构5.alter database 库名 default character set utf8mb4; #修改库的字符集为utf8mb46.alter table 表名 rename 新表名; #修改表名7.alter table 表名 add 新字段名 约束 约束 约束; #新增字段名以及约束(加在最后)8.alter table 表名 drop 字段名; #删除字段9.alter table 表名 add 新字段名 约束 约束 约束 first; #在第一列增加字段10.alter table 表名 add 新字段名 约束 约束 约束 after 字段名A; #在字段名A后面添加新字段及约束11.alter table 表名 modify 字段名A 约束 约束 约束; #修改字段名A的约束DML(针对数据的操作)1.insert into 表名(字段,字段,字段,字段,字段) values(值,值,值,值,值);insert into 表名 values(值,值,值,值,值);  #往表中增加数据2.insert into 表名 values
(值,值,值,值,值),
(值,值,值,值,值)
; #往表中插入多条数据3.update 表名 set 字段=值 where 字段=值; #通过where后的条件匹配数据并修改值4.delete from 表名 where 字段=值; #通过where后的条件匹配数据并删除5.delete from 表名; delete from 表名 where 1=1; #删除表中的所有数据DCL(授权)
1.grant 权限 on 库名.表名 to '用户名'@'主机名' identified by '密码'; 
#mysql8.0之前使用 创建用户并授权2.create user '用户名'@'主机名' identified by '密码';grant 权限 on 库名.表名 to '用户名'@'主机名'
#mysql8.0(含)之后先创建用户,再授权3.ALL 表示所有权限 USAGE 表示只能登录的权限4.库名表名可以使用"*"通配所有5.主机名:"%" 通配any6.select user,host from mysql.user where user='用户名'; #查看用户所有的主机7.show grants for '用户名'@'主机名'; #查看所有特定主机下的用户权限8.revoke 权限 on 库名.表名 from '用户名'@'主机名'; #取消对应权限DQL(查询)
1.select 字段名 from 表名 where 条件1 and 条件2 order by 排序 group by 分类;
#从特定的表中查出对应的数据并做出处理

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

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

相关文章

代码随想录刷题笔记-Day22

1. 修剪二叉搜索树 669. 修剪二叉搜索树https://leetcode.cn/problems/trim-a-binary-search-tree/ 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留…

opengles 顶点坐标变换常用的矩阵(九)

文章目录 前言一、opengles 常用的模型矩阵1. 单位矩阵2. 缩放矩阵3. 位移矩阵4. 旋转矩阵二、第三方矩阵数学库1. glm1.1 ubuntu 上安装 glm 库1.2 glm 使用实例1.2.1 生成一个沿Y轴旋转45度的4x4旋转矩阵, 代码实例如下1.2.2 生成一个将物体移到到Z轴正方向坐标为5处的4x4 vi…

万界星空科技商业开源MES

一、万界星空科技商业开源MES系统概述: 万界星空科技免费MES、开源MES、商业开源MES、市面上最好的开源MES、MES源代码、适合二开的开源MES。 1.万界星空开源MES制造执行系统的Java开源版本。 开源mes系统包括系统管理,车间基础数据管理,计…

深度学习500问——Chapter01:数学基础

文章目录 前言 1.1 向量和矩阵 1.1.1 标量、向量、矩阵、张量之间的联系 1.1.2 张量与矩阵的区别 1.1.3 矩阵和向量相乘结果 1.1.4 向量和矩阵的范数归纳 1.1.5 如何判断一个矩阵为正定 1.2 导数和偏导数 1.2.1 导数偏导计算 1.2.2 导数和偏导数有什么区别 1.3 特征值和特征向量…

什么是边缘案例测试?如何查找并确定优先级

何为边缘情况? 在极端条件下发生的情况被称为边缘情况,有时候也叫边界情况,在功能、回归、单元和性能测试中都会应用。如果质量保证团队知道某项功能的最大和最小负载,他们就能防止这些情况发生。当用户不按照程序的预期工作流程…

gma 2.0.6 (2024.02.21) 更新日志

安装 gma 2.0.6 pip install gma2.0.6网盘下载: 链接:https://pan.baidu.com/s/1P0nmZUPMJaPEmYgixoL2QQ?pwd1pc8 提取码:1pc8 注意:此版本没有Linux版! 编译gma的Linux虚拟机没有时间修复,本期Linux版继…

Go Module常用命令

Go Module常用命令TOC Go Module常用命令 go mod init #初始化go.mod go mod tidy #更新依赖文件 go mod download #下载依赖文件 go mod vendor #将依赖转移至本地的vendor文件 go mod edit #手…

ChatGPT需要什么资源?

在ChatGPT走红之后,国内有很多的媒体和人一下子慌了神。特别是自媒体上,铺天盖地的都是说“为什么中国没有诞生ChatGPT”、“美国将要爆发一场新的技术革命”之类的文章。很多的一些研究机构和企业都宣称,我们马上就要推出自己的ChatGPT了。还…

@ 代码随想录算法训练营第8周(C语言)|Day59(动态规划)

代码随想录算法训练营第8周(C语言)|Day59(动态规划) Day59、动态规划(包含题目 ● 583. 两个字符串的删除操作 ● 72. 编辑距离 ) 583. 两个字符串的删除操作 题目描述 给定两个单词 word1 和 word2&am…

Spring Cloud Gateway官方文档学习

文章目录 推荐写在前面一、熟悉Gateway基本概念与原理1、三大概念2、工作流程 二、基本使用路由断言的两种写法 三、路由断言工厂1、After路由断言工厂2、Before路由断言工厂3、Between路由断言工厂4、Cookie路由断言工厂5、Header路由断言工厂6、Host路由断言工厂7、Method路由…

如何远离原生家庭并与原生家庭相处

1、绝不主动联系。 2、任何辩理立即停止,即使你是对的。 3、绝不做任何取悦父母、感动父母的事。 4、只负责父母病了给他们送医院,得到应有的治疗。其他的和你无关。 5、遭遇道德绑架立即挂电话,立即离场,立即拉黑,绝不…

静态时序分析:SDC约束命令set_drive详解

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html 目录 指定电阻值 指定端口列表 简单使用 指定上升、下降沿 指定最大最小、条件 写在最后 本章将讨论使用set_drive命令,它用于对输入端口的驱动能力建模。首先需要说明的…

XXXX系统等级保护定级报告

XXXX系统等级保护定级报告 *标红内容为样例文本,请根据实际填写替换,非重要系统一般级别为一级 一、信息系统描述 对系统功能、运维方式、部署方式进行描述。 二、XX系统安全保护等级确定 (一)业务信息安全保护等级的确定 1、业务信息描…

130 如何通过vs2017开发linux c++程序

使用VS2017开发linux下的应用程序(C/C)_vc_linux.exe vs2017-CSDN博客 参考上面这哥们的,写的很详细 前言 本文章记录如何使用VS2017进行linux应用程序的开发(针对新手小白),VS2017能较为方便的通过SSH编辑…

基于回归支持向量机svr的确诊人数预测,基于lstm的确诊人数预测,基于bilstm的确诊人数预测,基于ga-lstm-svr的确诊人数预测

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 基于lstm的确诊人数预测,基于bilstm的确诊人数预测 完整代码: 基于svr的确诊人数预测,基于lstm的确诊人数预测,基于bilstm的确诊人数预测,基于ga-lstm-svr的确诊人数预资源-CSDN文库 https://download.csdn.net/download/ab…

python中name=‘main’的理解

1、__name__的理解 Python解释器在导入模块时,会将模块中没有缩进的代码全部顺序执行一遍(模块就是一个独立的Python文件)。开发人员通常会在模块下方增加一些测试代码,为了避免这些测试代码在模块被导入后执行,可以利…

公司数据迁移,服务器小文件多复制慢解决方案

企业普遍面临一个挑战:如何高效地处理和移动大量的小型文件。这些文件虽然单个体积不大,但数量庞大,累积起来会占据极大的存储空间,而且在迁移过程中,复制这些文件的速度往往非常缓慢。这不仅影响了企业的运营效率&…

10-pytorch-完整模型训练

b站小土堆pytorch教程学习笔记 一、从零开始构建自己的神经网络 1.模型构建 #准备数据集 import torch import torchvision from torch.utils.tensorboard import SummaryWriterfrom model import * from torch.utils.data import DataLoadertrain_datatorchvision.datasets.…

如何运用Mybatis Genertor

MyBatis Generator是一个MyBatis的代码生成器,它可以帮助我们快速生成Mapper接口以及对应的XML文件和模型类。在Java开发中,能大大提升开发效率。本文将介绍如何在IntelliJ IDEA中使用MyBatis Generator。 1. 添加MyBatis Generator依赖 我们首先需要在…

计网 - 深入理解HTTPS:加密技术的背后

文章目录 Pre发展历史Http VS HttpsHTTPS 解决了 HTTP 的哪些问题HTTPS是如何解决上述三个风险的混合加密摘要算法 数字签名数字证书 Pre PKI - 数字签名与数字证书 PKI - 借助Nginx 实现Https 服务端单向认证、服务端客户端双向认证 发展历史 HTTP(超文本传输协…