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

Mysql001:(库和表)操作SQL语句

目录:

》SQL通用规则说明

SQL分类:

》DDL(数据定义:用于操作数据库、表、字段)

》DML(数据编辑:用于对表中的数据进行增删改)

》DQL(数据查询:用于对表中的数据进行查询)

》DCL(用户权限:用于创建用户、修改数据库访问权限等)

SQL通用规则说明:

1. SQL语句可以单行编写,也可以多行编写,以英文分号结束

2. SQL语句可以使用空格、缩进来美化SQL语句

3. SQL语句不区分大小写, 关键字建议大写,表、字段等建议小写

4. 注释:SQL语句中的单行注释可以使用 -- 注释内容;多行注释可以使用/*注释内容*/

1. 数据库操作语法

-- (查看所有数据库)

show databases;


-- (切换数据库)

use 数据库名


-- (查看当前所在数据)

select database();


-- (创建数据库)

create database 数据库名;

-- (创建之前检查数据库是否存在,如果存在则不创建)

create database if not exists 数据库名;

-- (创建数据库,并设置字符集)

create database 数据库名 default charset utf8mb4;


-- (删除数据库)

drop database 数据库名;

2. 表操作语法(注意:创建表之前需要切换数据库)

-- (查询当前数据库所有表)

show tables;

-- (创建表)

create table user_table(

id int comment '编号',

name varchar(50) comment '姓名',

age int comment '年龄',

gender varchar(1) comment '性别'

) comment '用户表';

-- (查询表结构)

desc 表名;

-- (查询表的创建语句)

show create table 表名;

-- (清空表数据)

delete table 表名;

-- (删除表)

drop table 表名;

-- (修改字段名)

ALTER TABLE 表名 MODIFY COLUMN 旧字段名 新字段名 数据类型;

-- (修改字段数据类型)

ALTER TABLE 表名 MODIFY COLUMN 字段名 新数据类型;

3. mysql中的数据类型

数字类型:整数类型包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,浮点数类型包括 FLOAT 和 DOUBLE,定点数类型为 DECIMAL。

日期/时间类型:包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。

字符串类型:包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等。

二进制类型:包括 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。

以上这些数据类型不用记,下面我会整一张表你就懂了

分类类型(关键字)字节有符号无符号
数字类型(整数类型)TINYINT1 字节-128 到 1270 到 255
SMALLINT2 字节-32,768 到 32,7670 到 65,535
MEDIUMINT3 字节-8,388,608 到 8,388,6070 到 16,777,215
INT4 字节-2,147,483,648 到 2,147,483,6470 到 4,294,967,295
BIGINT8 字节-9,223,372,036,854,775,808 到 9,223,372,036,854,775,8070 到 18,446,744,073,709,551,615
数字类型(浮点数类型)FLOAT4 字节-3.402823466E+38 到 -1.175494351E-380 和 1.175494351E-38 到 3.402823466E+38
DOUBLE8 字节-1.7976931348623157E+308 到 -2.2250738585072014E-3080 和 2.2250738585072014E-308
数字类型(定点数类型)DECIMAL取决于指定的精度和小数位数存储范围和精度因具体实现而异,通常支持指定的精度和小数位数。
日期/时间类型YEAR1 字节
TIME3 字节
DATE3 字节
DATETIME8 字节
TIMESTAMP4 字节
字符串类型CHAR固定长度,取决于定义的字符长度。
VARCHAR变长,取决于实际存储的字符长度。
BINARY固定长度,取决于定义的字节长度。
VARBINARY变长,取决于实际存储的字节长度
BLOB根据实际存储的数据量不同而变化
TEXT根据实际存储的字符量不同而变化
ENUM根据所定义的枚举值数量而变化
SET根据所定义的集合值数量而变化
二进制类型BIT根据定义的位数进行计算,最小单位为1字节
BINARY
VARBINARY
TINYBLOB根据实际存储的数据量不同而变化,最大长度为 255 字节
BLOB
MEDIUMBLOB根据实际存储的数据量不同而变化,最大长度为 16MB
LONGBLOB根据实际存储的数据量不同而变化,最大长度为 4GB

4. (有符号)和(无符号)的概念

接下来要理解一下(有符号)和(无符号)的概念,别的文章对这两个东西描述太官方了,不照顾小白。(有符号)=(有负号),(无符号)=(无符号),假如说你想存储“-100”这个数, 首先这个是一个数字,那你可以选择数字类型有(TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT)等,且这是一个带有负号的数字, 那就得用有符号类型。

注意点:

1. (有符号)和(无符号)是在建表或者修改表字段的时候使用

2. 大部分数据类型一般默认指定的都是(有符号)

3. (有符号)字段可以存储(无符号)数字,(无符号)字段也可以存储(有符号)数字,为什么会这样呢? 那么区分他们的意义在哪? 我也不知道,根据官方的话来说可以提高性能和可读性。

4. (有符号)字段除了存储带有-号的数字, 还可以存储带别的符号的数字么?不行,带别的符号那属于字符串类型了。

那么如何给字段定义(有符号)和(无符号)呢?请看如下

需求:将“-100” 和 “100” 这两个数字分别用int类型的(有符号)和(无符号)存储到名为“test_table”的表中

-- (建表时定义)

create table test_table (

nub int unsigned, -- 无符号

nub2 int signed -- 有符号,signed 可以省略

);

-- (修改表时定义)

ALTER TABLE test_table MODIFY COLUMN nub2 INT unsigned;  -- 将nub2字段修改为(无符号)

如何查看字段是否是(有符号)字段还是(无符号)字段呢?通过desc就可以看到,如下

5. 增、删、改

添加数据:insert

修改数据:update

删除数据:delete

5.1 添加数据

1. 给指定字段添加数据

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

2. 给全部字段添加数据

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

3. 添加多行数据

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

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

注意:添加值时,如果值时字符串,则需要""引号括起来

5.2 更新数据

update 表名 set 字段名1 = 新值1,字段名2=新值2,...where 条件

注意:如果不加where条件, 则一整列的数据都将被修改

5.3 删除数据

-- (删除某一行数据)

delete from 表名 where 条件

-- (删除整张表的数据)

delete from 表名

-- (删除某个字段的某个数据,不是删除一整行数据【用更新语句就可以解决啦,更新为空】)

update 表名 set 字段1=null where 条件

下一章节讲解基础查询

相关文章:

Mysql001:(库和表)操作SQL语句

目录: 》SQL通用规则说明 SQL分类: 》DDL(数据定义:用于操作数据库、表、字段) 》DML(数据编辑:用于对表中的数据进行增删改) 》DQL(数据查询:用于对表中的数…...

甲骨文全区登录地址

日本东部 东京 https://console.ap-tokyo-1.oraclecloud.com https://console.ap-tokyo-1.oraclecloud.com 日本中部 大阪 https://console.ap-osaka-1.oraclecloud.com https://console.ap-osaka-1.oraclecloud.com 韩国中部 首尔 https://console.ap-seoul-1.oraclecloud.c…...

Java面试题第八天

一、Java面试题第八天 1.如何实现对象克隆? 浅克隆 浅克隆就是我们可以通过实现Cloneable接口,重写clone,这种方式就叫浅克隆,浅克隆 引用类型的属性,是指向同一个内存地址,但是如果引用类型的属性也进行浅克隆就是深…...

什么是同步容器和并发容器的实现?

同步容器和并发容器都是用于在多线程环境中管理数据的容器,但它们在实现和用法上有很大的区别。 同步容器: 同步容器是使用传统的同步机制(如synchronized关键字或锁)来保护容器内部数据结构的线程安全容器。同步容器通常是单线…...

学Python的漫画漫步进阶 -- 第十六步

学Python的漫画漫步进阶 -- 第十六步 十六、多线程16.1 线程相关的知识16.1.1 进程16.1.2 线程16.1.3 主线程 16.2 线程模块——threading16.3 创建子线程16.3.1 自定义函数实现线程体16.3.2 自定义线程类实现线程体 16.4 线程管理16.4.1 等待线程结束16.4.2 线程停止 16.5 动动…...

MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点5:数据字典(Data Dictionary)

文章目录 MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点5:数据字典(Data Dictionary)File-based Metadata Storage (基于文件的元数据存储)Transactional Data Dictionary (事务数据字典)Serialized Dictionary Informat…...

7分钟了解ChatGPT是如何运作的

ChatGPT是现在最为热门的聊天助手应用,它使用了一个大型语言模型(LLM),即GPT-3.5。它通过大量的文本数据进行训练,以理解和生成人类语言。但是,你是否有了解过ChatGPT是如何运作的吗? 下面我们就一起通过这个视频来一起…...

蓝桥杯打卡Day8

文章目录 C翻转矩阵幂 一、C翻转IO链接 本题思路:本题需要找出顺时针旋转和逆时针旋转的规律,然后就可以解决该问题。 矩阵顺时针90旋转规律:列号变为行号,(n-行号-1)变为列号 规律:a[i][j]b[j][n-i1]; 矩阵逆时针90旋转规律:行号变为列号&#xff0…...

React 学习笔记目录

学习使用的开发工具 编译器 VSCode 开发语言工具 TypeScript /JavaScript 重要程度分类 一般 这个程度的知识点主要是达到熟练掌握即可,不用太深入研究和学习。 重要 这个程度的知识点主要是达到熟练掌握,并且内部的原理切要熟记,因为会关…...

一起Talk Android吧(第五百五十一回:如何自定义SplashScreen)

文章目录 概念介绍实现方法修改启动页中的内容修改启动页显示时间修改启动面消失时的页面各位看官们大家好,上一回中咱们说的例子是"如何适配SplashScreen",本章回中介绍的例子是" 如何自定义SplashScreen"。闲话休提,言归正转,让我们一起Talk Android…...

PYTHON-模拟练习题目集合

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…...

UE5学习笔记(1)——从源码开始编译安装UE5

目录 0. 前期准备1. Git bash here2. 克隆官方源码。3. 选择安装分支4. 运行Setup.bat,下载依赖文件5. 运行GenerateProjectFiles.bat生成工程文件6. 生成完成,找到UE5.sln/UE4.sln7. 大功告成 0. 前期准备 0.1 在windows的话,建议装一个Git…...

DP读书:《openEuler操作系统》(二)操作系统的发展史

操作系统的发展历史 操作系统的发展历史手工操作时代批处理系统多道程序系统分时操作系统CTSSMULTICS的历史UNIX和Linux的历史Debian系列Red Hat系列 DOS和Windows的历史DOS的历史:Windows的历史: Android和iOS的历史Android:iOS:…...

SQL sever中相关查询

目录 一、简单查询 二、条件查询 三、别名查询 四、分组查询 五、排序查询 六、去重查询 七、分页查询 八、模糊查询 九、表连接查询 十、子查询 十一、嵌套查询 一、简单查询 简单查询是最基本的查询类型,用于从数据库中选择特定列或所有列的数据。 1…...

Java手写IO流和案例拓展

Java手写IO流和案例拓展 1. 手写IO流的必要性 在Java编程中,IO流是非常重要的概念。尽管Java已经提供了许多现成的IO类和方法,但是了解IO流的底层实现原理,能够手写IO流是非常有必要的。手写IO流可以帮助我们更深入地理解IO的工作原理&…...

Linux入门教程||Linux 文件与目录管理

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。 在开始本教程前我们需要先知道什么是绝对路径与相对路径。 绝对路径: 路径的写法,由根目录 /…...

MyBatis获取参数值的两种方式#{}和${} 以及 获取参数值的各种情况

一、参数值的两种方式#{}和${} 在 MyBatis 中,可以使用两种方式来获取参数值:#{} 和 ${}。 1. #{}:这是 MyBatis 推荐使用的方式。在 SQL 语句中使用 #{},MyBatis 会自动将参数值进行预编译处理,防止 SQL 注入攻击&a…...

(手撕)数据结构--->堆

文章内容 目录 一:堆的相关概念与结构 二:堆的代码实现与重要接口代码讲解 让我们一起来学习:一种特殊的数据结构吧!!!! 一:堆的相关概念与结构 在前面我们已经简单的学习过了二叉树的链式存储结…...

[运维|数据库] MySQL 中的COLLATE在 PostgreSQL如何表示

在 PostgreSQL 中,字符集(collation)和排序规则(collation order)的概念与 MySQL 类似,但语法和用法略有不同。在 PostgreSQL 中,字符集和排序规则通常是数据库、表或列级别的设置,而…...

【Linux】tar 与 zip 命令

tar 命令 tar 本质上只是一个打包命令,可以将多个文件或者文件夹打包到一个 tar 文件中,结合其他的压缩程序再将打包后的档案文件压缩。 所以看到 .tar.gz, .tar.bz2, .tar.xz 等等文件其实是 tar 文件之后进行 Gzip, Bzip2, XZ 压缩之后的文件。 tar…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

线程同步:确保多线程程序的安全与高效!

全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

pam_env.so模块配置解析

在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

push [特殊字符] present

push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

【网络安全】开源系统getshell漏洞挖掘

审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...