当前位置: 首页 > 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…...

Ostrakon-VL-8B实战:利用Git进行多模态模型版本管理与协作开发

Ostrakon-VL-8B实战:利用Git进行多模态模型版本管理与协作开发 在餐饮AI项目的开发过程中,我们常常会遇到这样的场景:数据科学家调整了Ostrakon-VL-8B的微调参数,工程师更新了模型推理的接口代码,产品经理则迭代了用于…...

电商数据仓库实战:从概念模型到物理模型的完整设计流程(含PostgreSQL示例)

电商数据仓库实战:从概念模型到物理模型的完整设计流程(含PostgreSQL示例) 在电商行业,数据已成为驱动业务增长的核心引擎。一个设计精良的数据仓库能够将分散的交易记录、用户行为和商品信息转化为可操作的商业洞察。本文将带您深…...

RMBG-2.0图文实战手册:发丝/毛边/半透明物体精准抠图案例集

RMBG-2.0图文实战手册:发丝/毛边/半透明物体精准抠图案例集 1. 开篇:当抠图遇上AI魔法 你有没有遇到过这样的烦恼?想给产品拍张美美的白底图,结果边缘总是毛毛糙糙;想给人物换个背景,头发丝却和原背景难舍…...

ShapeOfView贡献指南:如何为开源项目添加新的自定义形状

ShapeOfView贡献指南:如何为开源项目添加新的自定义形状 【免费下载链接】ShapeOfView Give a custom shape to any android view, Material Design 2 ready 项目地址: https://gitcode.com/gh_mirrors/sh/ShapeOfView ShapeOfView是一款强大的Android开源库…...

嵌入式系统调试常见问题与解决方案

嵌入式系统调试中的典型问题分析与解决策略1. 常见调试问题案例分析1.1 程序文件版本错误在嵌入式开发过程中,一个常见的低级错误是使用了错误的程序文件版本。某工程师在调试时发现单片机完全不执行程序,即使是最基本的GPIO控制也无法实现。经过以下排查…...

如何用Python零依赖快速获取百度搜索结果?python-baidusearch深度解析

如何用Python零依赖快速获取百度搜索结果?python-baidusearch深度解析 【免费下载链接】python-baidusearch 自己手写的百度搜索接口的封装,pip安装,支持命令行执行。Baidu Search unofficial API for Python with no external dependencies …...

ollama-QwQ-32B量化部署方案:在OpenClaw中实现低资源消耗

ollama-QwQ-32B量化部署方案:在OpenClaw中实现低资源消耗 1. 为什么需要量化部署大模型? 当我第一次尝试在本地笔记本上运行QwQ-32B模型时,16GB的内存瞬间被吃光,风扇狂转的声音像是在抗议。这让我意识到,想要在个人…...

告别Electron臃肿!用Tauri 2.0 + Rust打造你的第一个轻量级桌面应用(附完整项目结构解析)

从Electron到Tauri 2.0:用Rust重构现代桌面应用开发范式 当Electron应用体积膨胀到200MB起步时,我们不得不重新思考桌面开发的未来。Tauri 2.0的出现绝非偶然——这是前端开发者对性能与体验的集体觉醒。本文将带你深入这个基于Rust的轻量级框架&#xf…...

OpenClaw成本优化方案:自建Qwen3-VL:30B替代高价多模态API

OpenClaw成本优化方案:自建Qwen3-VL:30B替代高价多模态API 1. 为什么需要关注OpenClaw的成本问题 第一次用OpenClaw完成多模态任务时,我被账单吓了一跳。当时需要处理200张产品图片的分类和描述生成,调用某商业多模态API后,费用…...

AI辅助开发:用提示词让快马AI自动生成技术职级成长路径分析应用

AI辅助开发:用提示词让快马AI自动生成技术职级成长路径分析应用 最近在研究技术职级体系时,发现很多开发者对阿里P10这类高级职位的成长路径特别感兴趣。但手动整理这些信息费时费力,于是尝试用AI辅助开发的方式快速生成一个可视化分析工具。…...