十、数据库day02--SQL语句01

news2025/4/19 18:19:33

文章目录

  • 一、新建查询
    • 1.查询窗口的开启方法
    • 2. 单语句运行方法
  • 二、数据库操作
    • 1.创建数据库
    • 2. 使用数据库
    • 3. 修改数据库
    • 4. 删除数据库和查看所有数据库
    • 5. 重点:数据库备份
      • 5.1 应用场景
      • 5.2 利用工具备份
        • 备份操作
        • 还原操作
      • 5.3 扩展:使用命令备份
  • 三、数据表操作
    • 1. 创建表
    • 2.查看表
    • 3. 查看表结构和删除表
    • 4. 扩展:判断表存在移除再创建
    • 5. 扩展: 通过 Navicat ⼯具获取创表语句的方法
  • 四、数据操作
    • 1. 增加数据
      • 1.1 增加一行数据
      • 1.2 增加多行数据
    • 2. 修改数据
    • 3.删除数据
    • 4.扩展:逻辑删除
    • 5.扩展:其他删除数据的⽅法
  • 总结


一、新建查询

1.查询窗口的开启方法

在这里插入图片描述

2. 单语句运行方法

在这里插入图片描述

二、数据库操作

1.创建数据库

  • 创建数据库
--create database 数据库名 charset=utf8 collate=utf8_general_ci;
create database python charset=utf8 collate=utf8_general_ci;
  • 查看数据库
--show create database 数据库名;
show create database python;

2. 使用数据库

--use 数据库名;
use python;

--查看当前数据库:database() 是 SQL 的内置函数,括号不能省略;
select database();

3. 修改数据库

--创建
create database testpython charset=gb2312;

--修改
-- alter database 数据库名
-- default character set 编码格式
-- default collate 排序规则;
alter database testpython
default character set utf8mb4
default collate utf8mb4_general_ci;

4. 删除数据库和查看所有数据库

--删除数据库
--drop database 数据库名;
drop database python;

--查看所有数据库
show databases;

5. 重点:数据库备份

5.1 应用场景

  • 说明
    在测试⼯作中, 为了防⽌对数据库产⽣错误操作, 或产⽣垃圾数据, 都需要在操作前, 适当对数据库进⾏备份操作.

  • 垃圾数据
    例如在⾃动化测试中, 对注册模块操作⽣成的所有数据, 属于典型的垃圾数据, 应该清理

5.2 利用工具备份

备份操作
  • 数据库 -> 转储 SQL ⽂件 -> 结构+数据

在这里插入图片描述

  • 自行选择存放位置

在这里插入图片描述

  • 备份结束

在这里插入图片描述

还原操作
  • 数据库 -> 运⾏ SQL ⽂件

在这里插入图片描述

  • 选择备份⽂件

在这里插入图片描述

  • 还原结束

在这里插入图片描述

5.3 扩展:使用命令备份

  • mysql> 为 SQL 语句编写模式, ⾮ Linux 命令⾏模式

在这里插入图片描述

  • 命令备份与还原数据库操作

在这里插入图片描述

三、数据表操作

1. 创建表

-- create table 表名(
--字段名 类型 约束,
--字段名 类型 约束
--...
--);

--简单创建
create table stu(
	name varchar(5);

--完整创建
--unsigned:无符号
--primary key : 主键
--auto_increment : ⾃动增⻓
create table students(
 id int unsigned primary key auto_increment,
 name varchar(20),
 age int unsigned,
 height decimal(5,2)
);

2.查看表

-- 查看表信息
-- show create table 表名;
show create table students;

-- 执⾏结果
-- CREATE TABLE `students` (
-- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-- `name` varchar(20) DEFAULT NULL,
-- `age` int(10) unsigned DEFAULT NULL,
-- `height` decimal(5,2) DEFAULT NULL,
-- PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8

3. 查看表结构和删除表

-- 查看表结构(字段)
-- desc 表名;
desc students;
-- 删除表
-- drop table 表名;
drop table students;

4. 扩展:判断表存在移除再创建

-- 扩展: 判断表是否存在, 存在时先删除再创建
-- drop table : 删除表
-- if exists students : 如果 students 存在 
drop table if exists students;
create table students(
 id int unsigned primary key auto_increment,
 name varchar(20),
 age int unsigned,
 height decimal(5,2)
);

5. 扩展: 通过 Navicat ⼯具获取创表语句的方法

在这里插入图片描述

四、数据操作

1. 增加数据

1.1 增加一行数据

-- 增加数据
-- 增加⼀⾏数据
-- insert into 表名 values(...)
-- 注意: 
-- 1. 数据值需要和表的字段⼀⼀对应(数据个数及数据类型)
-- 2. 主键列是⾃动增⻓,插⼊时需要占位,通常使⽤ 0 或者 default 或者 
null 来占位,插⼊成功后以实际数据为准
insert into students values(0, '张三', 28, 1.78);
-- 增加部分值
-- insert into 表名(字段1,...) values(值1,...)
-- 注意: 值的顺序与给出的字段顺序对应
insert into students(name, height) values('李四', 1.68);

1.2 增加多行数据

-- 插⼊多⾏数据
-- ⽅式1: 将单⾏插⼊语句, 多句执⾏, 每句分号隔开 
insert into students values(0, '王五', 28, 1.78);
insert into students(name, height) values('赵六', 1.68);
-- ⽅式2: 在插⼊单⾏数据的语法基础上, 将 value 后边的数据进⾏多组化处-- insert into 表名 values(...),(...)...
-- insert into 表名(列1,...) values(值1,...),(值1,...)...
insert into students values(0, '王五1', 29, 1.78),(0, '王五2', 
30, 1.78);
insert into students(name, height) values('赵六1', 1.78),('赵六
2', 1.88);

2. 修改数据

-- 修改数据
-- update 表名 set 列1=值1,列2=值2... where 条件
-- 注意: where 不能省略, 否则会修改整列数据
update students set age=48 where id=9;
  • 语句作用对应

在这里插入图片描述

3.删除数据

-- 删除数据
-- delete from 表名 where 条件;
-- 注意: where 不能省略, 否则会删除全部数据
delete from students where id=6;

4.扩展:逻辑删除

  • 逻辑删除: 对于重要的数据,不能轻易执行 delete 语句进行删除。因为⼀旦删除,数据⽆法恢复,这时可以进行逻辑删除。

    • 1、给表添加字段,代表数据是否删除,⼀般起名 isdelete,0代表未删除,1代表删除,默认值为0
    • 2、当要删除某条数据时,只需要设置这条数据的 isdelete 字段为1
    • 3、以后在查询数据时,只查询出 isdelete 为0的数据
  • 第⼀步

在这里插入图片描述

  • 第⼆和第三步
-- 扩展 1: 逻辑删除(假删/标记删除)
-- 1> 修改要删除的数据的特定字段为删除状态
update students set isdelete=1 where id=4;
-- 2> 查询所有 isdelete 字段为 0 的所有数据 
select * from students where isdelete=0;

5.扩展:其他删除数据的⽅法

-- 扩展 2: 其他数据删除⽅法
-- delete from 表名 : 删除所有数据, 但是不重置主键字段的计数
-- truncate table 表名 : 删除所有数据, 并重置主键字段的计数
-- drop table 表名 : 删掉表(字段和数据均不再存在)
delete from students;
truncate table students;
drop table students;
  • 与图形化⻚⾯菜单的对应关系

在这里插入图片描述


总结

今天先SQL语句先到这,最后还有一两天就结束了

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

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

相关文章

实时直播弹幕系统设计

整个服务读多写少,读写比例大概几百比1. 如果实时性要求高的话,可以采用长连接模式(轮询的话,时效性不好,同时对于评论少的直播间可能空转) websocket 和 SSE架构 只要求服务端推送的话,可以…

[Java · 初窥门径] Java 语言初识

🌟 想系统化学习 Java 编程?看看这个:[编程基础] Java 学习手册 0x01:Java 编程语言简介 Java 是一种高级计算机编程语言,它是由 Sun Microsystems 公司(已被 Oracle 公司收购)于 1995 年 5 …

【SQL Server】数据探查工具1.0研发可行性方案

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 想抢先解锁数据自由的宝子,速速戳我!评论区蹲一波 “蹲蹲”,揪人唠唠你的超实用需求! 【SQL Server】数据探查工具1.0研发可行性方案…

谓词——C++

1.一元谓词 1.定义 2.案例 查找容器有没有大于五的数字 #include<stdio.h> using namespace std; #include<string> #include<vector> #include<set> #include <iostream> class myfind { public:bool operator()(int a){return a > 5;} …

『前端样式分享』联系我们卡片式布局 自适应屏幕 hover动效 在wikijs中使用 (代码拿来即用)

目录 预览效果分析要点响应式网格布局卡片样式&#xff1a;阴影和过渡效果 代码优化希望 长短不一的邮箱地址在左右居中的同时,做到左侧文字对齐(wikijs可用)总结 欢迎关注 『前端布局样式』 专栏&#xff0c;持续更新中 欢迎关注 『前端布局样式』 专栏&#xff0c;持续更新中…

MySQL 缓存机制全解析:从磁盘 I/O 到性能优化

MySQL 缓存机制全解析&#xff1a;从磁盘 I/O 到性能优化 MySQL 的缓存机制是提升数据库性能的关键部分&#xff0c;它通过多级缓存减少磁盘 I/O 和计算开销&#xff0c;从而提高查询和写入的效率。 1. 为什么需要缓存&#xff1f; 数据库的性能瓶颈通常集中在磁盘 I/O 上。…

1.1 设置电脑开机自动用户登录exe开机自动启动

本文介绍两个事情&#xff1a; 1.Windows如何开机自动登录系统&#xff08;不用输密码) 2. 应用程序(.exe)如何开机自动启动 详细解释如下&#xff1a; 一、Windows如何开机自动登录系统&#xff08;不用输密码) 设备上的工控机&#xff0c;如果开机后都需要操作人员输入密码&…

基于 Python 和 OpenCV 技术的疲劳驾驶检测系统(2.0 全新升级,附源码)

大家好&#xff0c;我是徐师兄&#xff0c;一个有着7年大厂经验的程序员&#xff0c;也是一名热衷于分享干货的技术爱好者。平时我在 CSDN、掘金、华为云、阿里云和 InfoQ 等平台分享我的心得体会。 &#x1f345;文末获取源码联系&#x1f345; 2025年最全的计算机软件毕业设计…

OpenAI重返巅峰:o3与o4-mini引领AI推理新时代

引言 2025年4月16日&#xff0c;OpenAI发布了全新的o系列推理模型&#xff1a;o3和o4-mini&#xff0c;这两款模型被官方称为“迎今为止最智能、最强大的大语言模型&#xff08;LLM&#xff09;”。它们不仅在AI推理能力上实现了质的飞跃&#xff0c;更首次具备了全面的工具使…

Unity3d 6(6000.*.*)版本国区下载安装参考

前言 Unity3d 6.是最新的版本&#xff0c;是与来自世界各地的开发者合作构建、测试和优化的成果&#xff0c;现在可以完全投入生产&#xff0c;是我们迄今为止性能最出色、最稳定的 Unity 版本。Unity 6 有许多令人兴奋的新工具和功能&#xff1a;端到端多人游戏工作流程将加速…

第 3 期:逆过程建模与神经网络的作用(Reverse Process)

一、从正向扩散到逆向去噪&#xff1a;生成的本质 在上期中我们讲到&#xff0c;正向扩散是一个逐步加入噪声的过程&#xff0c;从原始图像 x_0到接近高斯分布的 x_T​&#xff1a; 而我们真正关心的&#xff0c;是从纯噪声中逐步还原原图的过程&#xff0c;也就是逆过程&…

健康养生:开启活力生活新篇章

在当代社会&#xff0c;熬夜加班、久坐不动、外卖快餐成为许多人的生活常态&#xff0c;随之而来的是各种亚健康问题。想要摆脱身体的疲惫与不适&#xff0c;健康养生迫在眉睫&#xff0c;它是重获活力、拥抱美好生活的关键。​ 应对不良饮食习惯带来的健康隐患&#xff0c;饮…

记录学习的第二十九天

还是力扣每日一题。 本来想着像昨天一样两个循环搞定的&#xff0c;就下面&#x1f447;&#x1f3fb; 不过&#xff0c;结果肯定是超时啦&#xff0c;中等题是吧。 正确答案是上面的。 之后就做了ls题单第一部分&#xff0c;首先是定长滑窗问题 这种题都是有套路的&#xff0…

Express学习笔记(六)——前后端的身份认证

目录 1. Web 开发模式 1.1 服务端渲染的 Web 开发模式 1.2 服务端渲染的优缺点 1.3 前后端分离的 Web 开发模式 1.4 前后端分离的优缺点 1.5 如何选择 Web 开发模式 2. 身份认证 2.1 什么是身份认证 2.2 为什么需要身份认证 2.3 不同开发模式下的身份认证 3. Sessio…

leetcode 309. Best Time to Buy and Sell Stock with Cooldown

目录 题目描述 第一步&#xff0c;明确并理解dp数组及下标的含义 第二步&#xff0c;分析并理解递推公式 1.求dp[i][0] 2.求dp[i][1] 3.求dp[i][2] 第三步&#xff0c;理解dp数组如何初始化 第四步&#xff0c;理解遍历顺序 代码 题目描述 这道题与第122题的区别就是卖…

优化自旋锁的实现

在《C11实现一个自旋锁》介绍了分别使用TAS和CAS算法实现自旋锁的方案&#xff0c;以及它们的优缺点。TAS算法虽然实现简单&#xff0c;但是因为每次自旋时都要导致一场内存总线流量风暴&#xff0c;对全局系统影响很大&#xff0c;一般都要对它进行优化&#xff0c;以降低对全…

SS25001-多路复用开关板

1 概述 1.1 简介 多路复用开关板是使用信号继电器实现2线制的多路复用开关板卡&#xff1b;多路复用开关是一种可以将一个输入连接到多个输出或一个输出连接到多个输入的拓扑结构。这种拓扑通常用于扫描&#xff0c;适合将一系列通道自动连接到公共线路的的设备。多路复用开…

【AI News | 20250418】每日AI进展

AI Repos 1、exa-mcp-server AI助手通过Exa获得实时网络信息获取的能力&#xff0c;提供结构化的搜索结果&#xff0c;返回包括标题、URL以及内容片段在内的结构化结果&#xff1b;会把最近的搜索结果缓存为资源&#xff0c;下次再搜索相同的内容时可以直接使用缓存&#xff1…

Dify LLM大模型参数(一)

深入了解大语言模型&#xff08;LLM&#xff09;的参数设置 模型的参数对模型的输出效果有着至关重要的影响。不同的模型会拥有不同的参数&#xff0c;而这些参数的设置将直接影响模型的生成结果。以下是 DeepSeek 模型参数的详细介绍&#xff1a; 温度&#xff08;Tempera…

展示数据可视化的魅力,如何通过图表、动画等形式让数据说话

在当今信息爆炸的时代&#xff0c;数据的量级和复杂性不断增加。如何从海量数据中提取有价值的信息&#xff0c;并将其有效地传达给用户&#xff0c;成为了一个重要的课题。数据可视化作为一种将复杂数据转化为直观图形、图表和动画的技术&#xff0c;能够帮助用户快速理解数据…