mysql基本SQL语句

文章目录

  • 1. 连接
  • 2. DDL(数据定义语言)
    • (1) 数据库操作
      • 查询
      • 创建
      • 删除
      • 使用数据库
    • (2) 表操作
      • 查询
      • 创建
      • 修改删除表结构
      • 常见约束
  • 3. DML(数据操作语言)
    • 新增
    • 修改
    • 删除
  • 4. DQL(数据查询语言)
    • 条件
    • 聚合函数
    • 排序查询
    • 分页查询
    • 多表查询
      • 内连接
      • 外连接
    • 子查询
    • DQL 语句执行顺序
  • 5. DCL(数据控制语言)
    • 管理用户
    • 权限控制
  • 6. 事务

1. 连接

# 客户端连接mysql,[]为可选,# 默认为本机3306端口
mysql [-h localhost] [-p 3306] -u root -p 	

2. DDL(数据定义语言)

(1) 数据库操作

查询

-- 查询所有数据库
SHOW DATABSES

--查询当前数据库
SELECT DATABASE()

创建

CREATE DATABASE [IF NOT EXISTS] 数据库名称 
[DEFAULT CHARSET 字符编码] [COLLATE 排序规则] 

删除

DROP [IF NOT EXISTS] 数据库名

使用数据库

USE 数据库名

(2) 表操作

查询

-- 查询所有表
SHOW TABLES
-- 查看表结构
DESC 表名
--表看创建表语句
SHOW CREATE TABLE 表名

创建

CREATE TABLE 表名(
	字段 字段类型 [COMMENT 注释] [约束例如not null]
	......
)[COMMENT 注释]

常见字段类型:

数值型:
TINYINT:范围为-128至127的整数。
SMALLINT:范围为-32768至32767的整数。
MEDIUMINT:范围为-8388608至8388607的整数。
INT:范围为-2147483648至2147483647的整数。
BIGINT:范围为-9223372036854775808至9223372036854775807的整数。
FLOAT:单精度浮点数,存储范围为-3.402823466E+38至3.402823466E+38。
DOUBLE:双精度浮点数,存储范围为-1.7976931348623157E+308至1.7976931348623157E+308。
DECIMAL:定点数,适用于存储精确的小数值。

字符串类型:
CHAR:固定长度的字符串,最多255个字符。
VARCHAR:可变长度的字符串,最多255个字符。
TINYTEXT:最多255个字符的非二进制字符串。
TEXT:最多65535个字符的非二进制字符串。
MEDIUMTEXT:最多16777215个字符的非二进制字符串。
LONGTEXT:最多4294967295个字符的非二进制字符串。

日期时间类型:
DATE:日期,格式为'YYYY-MM-DD'。
TIME:时间,格式为'HH:MM:SS'。
DATETIME:日期和时间,格式为'YYYY-MM-DD HH:MM:SS'。
TIMESTAMP:时间戳,保存从1970年1月1日到当前时间的秒数。
YEAR:年份,格式为'YYYY'。
其他类型:
BINARY:固定长度的二进制字符串,最多255个字节。
VARBINARY:可变长度的二进制字符串,最多255个字节。
BLOB:最多65535个字节的二进制字符串。
ENUM:枚举类型,可以从预定义的值列表中选择一个值。
SET:集合类型,可以从预定义的值列表中选择一个或多个值。

修改删除表结构

-- 添加字段
ALTER TABLE 表名 ADD 字段名 类型() [COMMENT 注释] [约束];
-- 删除字段
ALTER TABLE 表名 drop 字段名
-- 修改字段
ALTER TABLE 表名 CHANGE 字段名 新字段名 类型()[注释] [约束]
-- 修改表名
ALTER TABLE 表名 RENAME TO 新表名

-- 删除表
DROP TABLE [IF EXISTS] 表名;

常见约束

NOT NULL				-- 非空
UNIQUE					-- 唯一
PRIMARY KEY				-- 主键
DEFAULT					-- 默认
CHECK					-- 检查
FOREIGN KEY				-- 外键

3. DML(数据操作语言)

新增

INSERT INTO 表名(字段列表) values(值列表)

修改

-- 不带条件更改所有数据
UPDATE 表名 SET 字段名 =,.. [WHERE 条件]

删除

-- 不指定条件删除全部
delete from 表名 [where 条件]

4. DQL(数据查询语言)

SELECT 		字段	AS 别名	-- as可以省略
FROM		表名
WHERE  		条件
GROUP BY	分组字段
HAVING		分组后条件
ORDER BY	排序字段
LIMIT		分页参数

条件

- 等于 (=):				用于判断两个值是否相等。
- 不等于 (<>!=):用于判断两个值是否不相等。
- 大于 (>):				用于判断一个值是否大于另一个值。
- 小于 (<):				用于判断一个值是否小于另一个值。
- 大于等于 (>=):	用于判断一个值是否大于等于另一个值。
- 小于等于 (<=):	用于判断一个值是否小于等于另一个值。
- BETWEEN:		用于判断一个值是否在某个范围之间。
- IN:						用于判断一个值是否在指定的多个值中。
- LIKE:					用于匹配指定的模式。
- NOT:					用于否定其他条件运算符。

聚合函数

-- 使用直接使用在字段列表
SELECT COUNT(*) FROM user

- COUNT:用于计算某一列的行数。
- SUM:用于计算某一列的总和。
- AVG:用于计算某一列的平均值。
- MAX:用于获取某一列的最大值。
- MIN:用于获取某一列的最小值。
- GROUP_CONCAT:用于将某一列的值连接成一个字符串。
- DISTINCT:用于返回不重复的值。
- HAVING:用于过滤聚合结果。
- CONCAT:用于将多个字符串连接在一起。
- SUBSTRING:用于截取字符串的一部分。

排序查询

-- 排序 -按照age 升序排序,多个排序使用,分割
SELECT * FROM student ORDER BY age ASC	

DESC 		--降序
ASC			-- 升序(默认)

分页查询

SELECT * FROM student LIMIT 开始索引  查询条数

多表查询

表关系:
一对一
多对多
一对多

笛卡尔积: 在多表查询时,每一条记录都和其他表的所有记录组合(需要消除无效笛卡尔积)

内连接

查询两张表交集部分:

select 字段列表
from1,2
where 条件...

外连接

左外: (完全包含左表,和两表的交集)

select 字段
from1 
left join2
on 条件

右外:(相反)

select 字段
from1 
right join2
on 条件

子查询

将查询结果作为条件

select 字段
from 表
where col1 =(
	select 字段
	from 表
)

DQL 语句执行顺序

FROM  >
  WHERE  >
   GROUP BY >
     SELECT  >
       ORDER BY > 
       		LIMIT

5. DCL(数据控制语言)

管理用户

-- 查询用户
USE MYSQL;
SELECT * FROM user

-- 创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'

-- 修改用户密码
ALTER USER '用户名'@'主机名' IDENTIFLED WITH mysql_native_password BY '新密码'

-- 删除用户
DROP USER '用户名'@'主机名'

权限控制

-- 查询权限
SHOW GRANTS FOR '用户名'@'表名'

-- 授权
GRANT 权限列表 ON 数据库.TO '用户'@'主机'
-- 撤权
REMOKE 权限列表 ON 数据库.TO '用户'@'主机'

常用权限:

ALL: 所有权限
SELECT:允许用户查询数据库中的数据。
INSERT:允许用户在数据库中插入新的数据。
UPDATE:允许用户修改数据库中的数据。
DELETE:允许用户删除数据库中的数据。
CREATE:允许用户创建新的数据库、表或索引。
DROP:允许用户删除数据库、表或索引。
ALTER:允许用户修改数据库中已存在的表结构。
GRANT:允许用户授予或撤销其他用户的权限。
RELOAD:允许用户重新加载服务器配置文件。
SHUTDOWN:允许用户关闭MySQL服务器。
PROCESS:允许用户查看其他用户的进程。
FILE:允许用户读取或写入服务器上的文件。
SUPER:允许用户执行一些特殊的操作,如修改服务器的配置参数。
REPLICATION CLIENT、REPLICATION SLAVE:允许用户进行主从复制相关的操作。
CREATE TEMPORARY TABLES:允许用户创建临时表。
SHOW DATABASES、SHOW TABLES:允许用户查看数据库和表的列表。

6. 事务

事务让一组操作同时成功同时失败

select @@autocommit		-- 查看事务提交方式
select @@autocommit = 0		-- 关闭自动提交事务

start transaction/begin		--开启事务

commit 						-- 提交事务
	
rollback					-- 回滚事务

事务隔离级别:

读未提交(Read Uncommitted):一个事务未提交的修改可以被其他事务读取,可能导致脏读、不可重复读和幻读的问题。
读已提交(Read Committed):一个事务只能读取到已提交的修改,解决了脏读的问题,但可能会导致不可重复读和幻读的问题。
可重复读(Repeatable Read):一个事务在执行期间看到的数据都是一致的,其他事务对数据的修改只有在当前事务提交后才能读取到,解决了脏读和不可重复读的问题,但可能会导致幻读的问题。
串行化(Serializable):所有事务按顺序执行,不会出现并发问题,解决了所有的并发问题,但由于锁的影响可能导致性能下降。

查看隔离级别:

select @@TRANSACTION_ISOLATION

-- 设置隔离级别
SET [SESSION|GLOBAL] TRANSACTION ISOLATION LEVEL 隔离级别
-- SESSION 表示当前会话
-- GLOBAL表示全局

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT creator qt6.0 使用msvc2019 64bit编译报错

qt creator qt6.0报错&#xff1a; D:\Qt6\6.3.0\msvc2019_64\include\QtCore\qglobal.h:123: error: C1189: #error: "Qt requires a C17 compiler, and a suitable value for __cplusplus. On MSVC, you must pass the /Zc:__cplusplus option to the compiler."…

PXE批量网络装机和Kickstart无人值守安装

一、PXE定义 PXE&#xff08;preboot execute environment&#xff09;:用于通过网络来引导系统的标准&#xff0c;工作在Client/Server模式&#xff08;也称为CS模式&#xff09;&#xff0c;允许客户机通过网络从远程服务器上下载引导镜像&#xff0c;并加载安装文件或整个操…

劝退计算机?CS再过几年会没落!?

事实上&#xff0c;未来计算机不仅不会没落&#xff0c;国家还会大力发展 只不过大家认为的计算机就是什么Java web&#xff0c;真正的计算机行业是老美那样的&#xff0c;涉及到方方面面&#xff0c;比如&#xff1a; web&#xff0c;图形学&#xff0c;Linux系统开发&#…

酷得智能电子方案 早教学习机

早教学习机是用户友好的&#xff0c;易于操作&#xff0c;同时要确保内容的科学性和适宜性&#xff0c;以促进儿童的健康成长和智力发展。 通常包括以下几个方面&#xff1a; 1.年龄分级内容&#xff1a;软件会根据儿童的不同年龄段提供相应的教育内容&#xff0c;从新生儿到…

renren-fast开源快速开发代码生成器

简介 renrenfast框架介绍 renren-fast是一个轻量级的Spring Boot快速开发平台&#xff0c;能快速开发项目并交付.完善的XSS防范及脚本过滤&#xff0c;彻底杜绝XSS攻击实现前后端分离&#xff0c;通过token进行数据交互 使用流程 项目地址 https://gitee.com/renrenio/ren…

鸿蒙 DevEcoStudio:组件实例(页面及组件生命周期函数)

【使用onPageshow等生命周期函数】 在entry/src/main/ets/pages路径下创建Page1.ets: import router from ohos.router Entry Component struct Page1 {State message: string Hello WorldState show: booleantrueaboutToAppear(){console.log(Page1组件创建实例)}aboutToDisa…

夏天旅行,就认准这五款随身WiFi!准没错!2024随身wifi靠谱品牌推荐,高性价比高口碑随身wifi推荐

过了五一&#xff0c;气温逐渐上升&#xff0c;又到了最适合旅行的季节。这个时候一款趁手的随身WiFi当然是必不可少的&#xff01;不但能解决出行时信号差的烦恼&#xff0c;还可以解决流量不够用的问题。那么&#xff0c;都有哪些随身WiFi在夏季出行时最值得选择呢&#xff1…

docker容器安装sqlserver

docker容器安装sqlserver 搜索SQL Server镜像下载SQL Server镜像创建容器 搜索SQL Server镜像 docker search mssql-server下载SQL Server镜像 docker pull microsoft/mssql-server-linux创建容器 docker run -e ACCEPT_EULAY -e SA_PASSWORD<YourStrong!Passw0rd> -…

庐山西海服务区:从高速服务区到旅游热点的华丽转身

五一假期期间&#xff0c;庐山西海服务区以其独特的魅力吸引了众多游客的目光。曾经只是一个供汽车加油和休息的普通服务区&#xff0c;如今却焕发出了绚丽的光彩&#xff0c;成为了周边地区备受瞩目的旅游热点。庐山西海服务区的转型&#xff0c;不仅为游客带来了丰富多样的娱…

leetCode78. 子集

leetCode78. 子集 思路一&#xff1a;迭代法 代码 class Solution { public:vector<vector<int>> subsets(vector<int>& nums) {vector<vector<int>> res;int n nums.size();for(int i 0; i < 1 << n; i) // 1 << n 2^n{…

记录一个练手的js逆向password

很明显 请求加密了password 全局搜索 有个加密函数(搜不到的可以搜临近的其他的关键字 或者url参数) 搜索的时候一定要仔细分析 我就没有仔细分析 我搞了好久 又是xhr又是hook的(还没hook到) 我当时也是疏忽了 我寻思这个也不是js文件 直到后来 我怎么也找不到 我就猜想 不…

【一刷《剑指Offer》】面试题 16:反转链表

力扣对应题目链接&#xff1a;206. 反转链表 - 力扣&#xff08;LeetCode&#xff09; 牛客对应题目链接&#xff1a;反转链表_牛客题霸_牛客网 (nowcoder.com) 核心考点 &#xff1a;链表操作&#xff0c;思维缜密程度。 一、《剑指 Offer》内容 二、分析题目 解题思路&#…

动态规划——路径问题:LCR 166.珠宝的最高价值

文章目录 题目描述算法原理1.状态表示&#xff08;题目经验&#xff09;2.状态转移方程3.初始化4.填表顺序5.返回值 代码实现CJava 题目描述 题目链接&#xff1a;LCR 166.珠宝的最高价值 算法原理 1.状态表示&#xff08;题目经验&#xff09; 对于这种路径类的问题&…

pytest教程-39-钩子函数-pytest_runtest_setup

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了pytest_runtest_protocol钩子函数的使用方法&#xff0c;本小节我们讲解一下pytest_runtest_setup钩子函数的使用方法。 pytest_runtest_setup 钩子函数在每个测试用例的 setup 阶段被调用。这…

43.WEB渗透测试-信息收集-域名、指纹收集(5)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;42.WEB渗透测试-信息收集-域名、指纹收集&#xff08;4&#xff09; web-架构资产收集&a…

手动配置dns后网速变慢

之前因为自动的dns能上qq但打不开网页&#xff0c;就手动设置了一个&#xff0c;结果近些天时不时出现网页图片加载慢的问题&#xff0c;影响到我看美女图片了&#xff0c;是可忍熟不可忍 测了下网速&#xff0c;很快&#xff0c;下载上传都是三位数的&#xff0c;那显然不是网…

文本转图表的AI工具-Chart-GPT

Chart-GPT Chart-GPT一款基于 GPT 实现的开源工具&#xff0c;可在几秒内&#xff0c;将文本快速转换为各种图表。用户只需在输入字段中输入数据说明和所需的图表类型&#xff0c;Chart-GPT的后台生成器即可建出多种类型的图表&#xff0c;包括条形图、折线图、组合图、散点图、…

19.删除链表的倒数第n个结点

刷算法题&#xff1a; 第一遍&#xff1a;1.看5分钟&#xff0c;没思路看题解 2.通过题解改进自己的解法&#xff0c;并且要写每行的注释以及自己的思路。 3.思考自己做到了题解的哪一步&#xff0c;下次怎么才能做对(总结方法) 4.整理到自己的自媒体平台。 5.再刷重复的类…

书生·浦语大模型实战营之 OpenCompass大模型评测

书生浦语大模型实战营之 OpenCompass &#xff1a;是骡子是马&#xff0c;拉出来溜溜 为什么要研究大模型的评测&#xff1f; 百家争鸣&#xff0c;百花齐放。 首先&#xff0c;研究评测对于我们全面了解大型语言模型的优势和限制至关重要。尽管许多研究表明大型语言模型在多…

Material Studio 计算分子静电力、电荷密度以及差分电荷密度

1.先打开Material Studio导入要计算的分子cif文件或者mol文件&#xff0c;直接Flie-Import 2.高斯几何优化一下结构&#xff0c;参数按照我的设置就行&#xff0c;一般通用&#xff0c;后面出问题再调整 3.点完Run后会跳出很多计算过程&#xff0c;不用管&#xff0c;等他计算完…
最新文章