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

VS2015+opencv 3.4.6开发环境

VS2015+opencv 3.4.6开发环境 一、安装包下载二、安装过程三、VS环境配置四、测试一、安装包下载 这里提供两种下载方法:   1. opencv官网   2. csdn资源下载 二、安装过程 2.1 下载opencv-3.4.6 安装包 2.2 双击开始安装,选择要安装目录,点击Extract。  2.3 等待解…...

[运维|数据库] 将mysql的null.unix_timestamp(now()) * 1000转为PostgreSQL的语法

在 PostgreSQL 中,您可以使用以下方式将 MySQL 中的 UNIX_TIMESTAMP 和 NOW() 函数的组合转换为等效的语法: EXTRACT(EPOCH FROM NOW()) * 1000在这个 PostgreSQL 表达式中: EXTRACT(EPOCH FROM NOW()) 获取当前时间戳的秒数。 2. * 1000 将…...

springboot使用filter增加全局traceId,方便日志查找

一&#xff1a;引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency> 二&#xff1a;编写过滤器&#xff1a; package com.example.demo.filter;import or…...

面经学习三

目录 Java 与 C 的区别 面向对象和面向过程的区别 面向对象特性 Java的基本数据类型 深拷贝和浅拷贝 Java创建对象的几种方式 final, finally, finalize 的区别 Java 与 C 的区别 Java 是纯粹的面向对象语言&#xff0c;所有的对象都继承自 java.lang.Object&#xff0c…...

Open3D 点云配准——可视化匹配点对之间的连线

点云配准 一、算法原理1、概述2、主要函数二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 1、概述 可视化源点云和目标点云中匹配点对之间的连线,这对于点云配准,尤…...

io多路复用之poll的详细执行过程

1.结构体struct pollfd的定义 struct pollfd { int fd; /* 文件描述符 */ short events; /* 想要监视的事件&#xff08;input/output/priority&#xff09; */ short revents; /* 实际发生的事件&#xff08;返回的事件&#xff09; */ }; 2.定义po…...

网络安全深入学习第四课——热门框架漏洞(RCE— Log4j2远程代码执行)

文章目录 一、log4j2二、背景三、影响版本四、漏洞原理五、LDAP和JNDI是什么六、漏洞手工复现1、利用DNSlog来测试漏洞是否存在2、加载恶意文件Exploit.java&#xff0c;将其编译成class文件3、开启web服务4、在恶意文件Exploit.class所在的目录开启LDAP服务5、监听反弹shell的…...

大数据Flink(八十一):SQL 时区问题

文章目录 SQL 时区问题 ​​​​​​​一、SQL 时区解决的问题...

Input子系统 - Kernel驱动程序 - Android

Input子系统 - Kernel驱动程序 - Android 1、Input子系统相关定义1.1 代码位置1.2 input_dev结构体&#xff1a;表示输入设备1.3 input_handler结构体&#xff1a;struct input_handler - implements one of interfaces for input devices1.4 input_handle结构体&#xff1a;将…...

MySQL里的查看操作

文章目录 查看当前mysql有谁连接查看数据库或者表 查看当前mysql有谁连接 show processlist;查看数据库或者表 列出所有数据库&#xff1a; show databases;查看正在使用的数据库&#xff08;必须大写&#xff09;&#xff1a; SELECT DATABASE();列出数据库中的表&#xf…...