Mysql002:(库和表)操作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 条件

下一章节讲解基础查询

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Verilog教程】2.3 Verilog 数据类型

Verilog 最常用的 2 种数据类型就是线网(wire)与寄存器(reg),其余类型可以理解为这两种数据类型的扩展或辅助。 线网(wire) wire 类型表示硬件单元之间的物理连线,由其连接的器件输…

十分钟理解OSPF路由协议

十分钟理解OSPF路由协议 1.RIP的缺陷以跳数为度量值最大跳数为15更新路由表采用全更新收敛速度慢 2.RIP与OSPF比较OSPF概述运行OSPF协议之前运行OSPF协议之后 3.OSPF协议工作过程1.发现邻居2.建立邻接关系3.传递链路状态信息4.计算路由 4.OSPF分区域管理 有RIP协议,…

Visual Studio Code配置开发Maven项目、Spring Boot项目

配置开发Maven项目、Spring Boot项目 配置全局配置项目配置注意 Maven项目开发安装插件创建项目启动项目 Spring Boot项目开发安装插件创建项目启动项目 其他插件 配置 全局配置 ctrlshiftp打开搜索setting.json,这个setting.json配置属于全局配置 配置全局的Java与…

Python配置与测试利器:Hydra + pytest的完美结合

简介:Hydra 和 pytest 可以一起使用,基于 Hydra Pytest 的应用可以轻松地管理复杂配置,并编写参数化的单元测试,使得Python开发和测试将变得更为高效。 安装: pip install hydra-core pytest案例源码:my…

毕业设计|基于stm32单片机的app视频遥控抽水灭火小车设计

基于stm32单片机的app视频遥控抽水灭火水泵小车设计 1、项目简介1.1 系统构成1.2 系统功能 2、部分电路设计2.1 L298N电机驱动电路设计2.2 继电器控制电路设计 3、部分代码展示3.1 小车控制代码3.1 水泵控制代码 4 演示视频及代码资料获取 1、项目简介 视频简介中包含资料http…

用selenium和xpath定位元素并获取属性值以及str字符型转json型

页面html如图所示: 要使用xpath定位这个div元素,并且获取其属性data-config的内容值。 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.options import Optionshost127.0.0.1 port10808 …

(图论) 1020. 飞地的数量 ——【Leetcode每日一题】

❓ 1020. 飞地的数量 难度:中等 给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个 海洋单元格、1 表示一个 陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过 grid 的边…

python基础语法(四)

感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 🐒🐒🐒个人主页 🥸🥸🥸C语言 🐿️🐿️🐿️C语言例题 🐣🐓🏀python 这…

9.19 QT作业

完成文本编辑器的保存工作 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QFontDialog> //字体对话框 #include<QFont> //字体类 #include<QMessageBox> //消息对话框 #inclu…

SpringMVC学习|JSON讲解、Controller返回JSON数据、Jackson、JSON乱码处理、FastJson

JSON讲解 JSON(JavaScript Object Notation,JS 对象标记)是一种轻量级的数据交换格式&#xff0c;目前使用特别 广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON成为理想的数据交换语言。 易于人阅读和编写&#xff0c;同时也易于机…

岩土工程安全监测中振弦采集仪连接振弦传感器时注意事项

岩土工程安全监测中振弦采集仪连接振弦传感器时注意事项 岩土工程安全监测是保障工程稳定和安全的重要手段之一&#xff0c;而振弦采集仪则是岩土工程安全监测的常用设备之一&#xff0c;可以用于实时监测地下水位、土体变形、岩体应力等。其中&#xff0c;振弦传感器是振弦采…

解决报错:npm ERR! code 1

我是 npm install --legacy-peer-deps 成功了 解决方案&#xff1a; 升级swiper库&#xff1a;你可以尝试升级你的项目中的swiper库到5.2.0或更高版本&#xff0c;以满足vue-awesome-swiper的需求。你可以使用以下命令来进行升级&#xff1a; npm install swiperlatest 注意…

Hadoop:YARN、MapReduce、Hive操作

目录 分布式计算概述 YARN概述 YARN架构 核心架构 辅助架构 MapReduce 概述 配置相关文件 提交MapReduce到YARN Hive Hive架构 Hive在VMware部署 Hive的启动 数据库操作 数据表操作 内部表操作 外部表操作 数据加载和导出 数据加载LOAD 数据加载 - INSERT SEL…

Flink sql 1.17笔记

环境准备 # 启动hadoop集群 # 启动Flink yarn session (base) [link999hadoop102 flink-1.17.0]$ bin/yarn-session.sh -d# 启动finksql客户端 (base) [link999hadoop102 flink-1.17.0]$ bin/sql-client.sh -s yarn-session# 如果有初始化文件 bin/sql-client.sh embedded -s …

Spring Cloud Alibaba Ribbon负载均衡器

文章目录 Ribbon 负载均衡器环境搭建1.依赖2.配置3.修改其默认的负载均衡策略3.1 验证 4.创建自定义的Rule4.1 MyRule&#xff08;&#xff09;4.2 在配置config类中配置 5.饥饿加载6.我只想访问不想被别的访问 Ribbon 负载均衡器 背景 Ribbon 是一个用于客户端负载均衡的开源…

【ElementUI】ElementUI Tooltip 根据内容判断是否显示、文字提示自定义样式

【ElementUI】ElementUI Tooltip 根据内容判断是否显示、文字提示自定义样式 封装组件自定义内容 <template><span v-if"[, null, undefined].indexOf(content) -1"><el-tooltip :content"content" effect"light" placement&q…

Pytorch从零开始实战04

Pytorch从零开始实战——猴痘病识别 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——猴痘病识别环境准备数据集模型选择模型训练数据可视化其他模型图片预测 环境准备 本文基于Jupyter notebook&#xff0c;使用Python3.8&#xff0c;Pytor…

前端-layui动态渲染表格行列与复杂表头合并

说在前面&#xff1a; 最近一直在用layui处理表格 写的有些代码感觉还挺有用的&#xff0c;顺便记录下来方便以后查看使用&#xff1b; HTML处代码 拿到id 渲染位置表格 <div class"layui-table-body salaryTable"><table class"layui-table" i…

GE WES5120 5120-1506 自动化控制模块

GE WES5120 5120-1506 是一种自动化控制模块&#xff0c;通常用于工业自动化和控制系统中&#xff0c;用于监测和控制各种工业过程。这种类型的自动化控制模块在多个应用领域都有广泛的用途&#xff0c;包括但不限于以下几个领域&#xff1a; 制造业&#xff1a; WES5120 5120-…

Nginx配置负载均衡时访问地址无法生效

场景还原 今天有小伙伴练习Nginx配置负载均衡时总是无法使用配置好的网址访问 配置文件信详情 http {# 负载均衡 后端IP地址和端口 webservers 策略 轮询upstream webservers{server 192.168.1.100:8080 weight90; server 127.0.0.1:8080 weight10; }server{listen 80;ser…