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。
以上这些数据类型不用记,下面我会整一张表你就懂了
| 分类 | 类型(关键字) | 字节 | 有符号 | 无符号 |
| 数字类型(整数类型) | TINYINT | 1 字节 | -128 到 127 | 0 到 255 |
| SMALLINT | 2 字节 | -32,768 到 32,767 | 0 到 65,535 | |
| MEDIUMINT | 3 字节 | -8,388,608 到 8,388,607 | 0 到 16,777,215 | |
| INT | 4 字节 | -2,147,483,648 到 2,147,483,647 | 0 到 4,294,967,295 | |
| BIGINT | 8 字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | 0 到 18,446,744,073,709,551,615 | |
| 数字类型(浮点数类型) | FLOAT | 4 字节 | -3.402823466E+38 到 -1.175494351E-38 | 0 和 1.175494351E-38 到 3.402823466E+38 |
| DOUBLE | 8 字节 | -1.7976931348623157E+308 到 -2.2250738585072014E-308 | 0 和 2.2250738585072014E-308 | |
| 数字类型(定点数类型) | DECIMAL | 取决于指定的精度和小数位数 | 存储范围和精度因具体实现而异,通常支持指定的精度和小数位数。 | |
| 日期/时间类型 | YEAR | 1 字节 | ||
| TIME | 3 字节 | |||
| DATE | 3 字节 | |||
| DATETIME | 8 字节 | |||
| TIMESTAMP | 4 字节 | |||
| 字符串类型 | 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旋转规律:行号变为列号࿰…...
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…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
