Mysql数据库SQL语句与管理

news2025/1/11 0:01:35

Mysql数据库基本语句与管理

  • 1、常用的数据类型
  • 2、数据库管理
  • 3、SQL语句
    • 3.1语言分类
    • 3.2sql语句
  • 4、DQL查询数据记录
    • 4.1查询
    • 4.2修改
    • 4.3删除
    • 4.4alter修改
  • 5、总结

1、常用的数据类型

数据类型
(1)int:整型 用于定义整数类型的数据
(2)float:单精度浮点4字节32位 准确表示到小数点后六位
(3)double:双精度浮点8字节64位
(4)char:固定长度的字符类型 用于定义字符类型数据。 20字节 4 16 空格
(5)varchar:可变长度的字符类型 20 4 4
(6)text:文本
(7)image:图片
(8)decimal(5,2):5个有效长度数字,小数点后面有2位 指定长度数组 55555.00

ps:Char如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错

2、数据库管理

存储类型

MySQL是一个支持多种存储引擎的关系型数据库管理系统,不同的存储引擎有各自的特点和适用场景。以下是MySQL支持的一些常见存储引擎:

  • InnoDB存储引擎:InnoDB是MySQL默认的存储引擎,支持事务处理、行级锁、外键约束和多版本并发控制等特性,适用于高并发、高可靠性的应用场景。
  • MyISAM存储引擎:MyISAM不支持事务处理和行级锁,但支持全文索引、压缩、空间函数和表锁等特性,适用于读多写少的应用场景。
  • Memory存储引擎:Memory存储引擎将数据存储在内存中,支持快速的读写操作,但不支持持久化存储和大容量数据,适用于缓存、会话数据和临时表等应用场景。
  • CSV存储引擎:CSV存储引擎将数据存储在CSV格式的文件中,适用于导入和导出数据、数据交换和数据备份等应用场景。
  • Archive存储引擎:Archive存储引擎将数据以压缩格式存储,适用于大量历史数据的存储和查询等应用场景。
  • Blackhole存储引擎:Blackhole存储引擎将所有写入操作都忽略,适用于数据复制和数据分发等应用场景。

ps:以上存储引擎并不是全部,MySQL还支持其他存储引擎,如NDB存储引擎和Federated存储引擎等。根据应用场景的不同,选择合适的存储引擎可以提高MySQL的性能和可靠性。

3、SQL语句

3.1语言分类

在关系型数据库中,DDL、DML、DQL和DCL是四种不同的SQL语言类型,用于不同的操作和管理数据库对象的权限。以下是它们的具体介绍:

  • DDL(Data Definition Language,数据定义语言):DDL用于创建、修改和删除数据库对象,如表、索引、视图、存储过程等。常见的DDL操作包括CREATE、ALTER和DROP等。DDL语句执行后会立即生效,对数据库结构进行修改。
  • DML(Data Manipulation Language,数据操作语言):DML用于插入、更新和删除数据库中的数据。常见的DML操作包括INSERT、UPDATE和DELETE等。DML语句执行后会改变数据库表中的数据。
  • DQL(Data Query Language,数据查询语言):DQL用于查询数据库中的数据。常见的DQL操作是SELECT。DQL语句不会改变数据库中的数据,而是返回查询结果。
  • DCL(Data Control Language,数据控制语言):DCL用于控制数据库的访问权限和安全性。常见的DCL操作包括GRANT和REVOKE等。DCL语句不会改变数据库结构或数据,而是控制对它们的访问权限。

ps:总的来说,DDL用于定义数据库结构,DML用于操作数据库数据,DQL用于查询数据库数据,DCL用于控制数据库访问权限。这四种SQL语言类型是关系型数据库中操作和管理数据的基础。

3.2sql语句

select语句:用于从一个或多个表中查询数据。

select * from 表名 //查询表中信息

在这里插入图片描述

insert语句:用于向表中插入新的行。

insert into user (id ,name,sorce) values (1,'wangwu',85);
//向user表中插入内容

在这里插入图片描述

update语句:用于更新标中的数据

update user  set id=2 where name='lisi';
将姓名为lisi的id改为2

在这里插入图片描述

delete语句:用于删除表中的行。(只删除记录)

deletre from user;//删除user表中的数据

在这里插入图片描述

create语句:用于创建表、视图、存储过程等数据库对象

在这里插入图片描述

alter语句:用于修改表的结构

alter table zhen add passwd char(10);
将zhen表中插入passwd,指定为char字符型

在这里插入图片描述
在这里插入图片描述

drop语句:用于删除表、视图、存储过程等数据库对象。(全部删除)

drop table zhen;//删除表table

在这里插入图片描述

4、DQL查询数据记录

4.1查询

格式:
SELECT 字段名1,字段名2[,…] FROM 表名[WHERE 条件表达式];

1、普通查看表的内容

select * from a;

在这里插入图片描述
2、条件筛选查询

select name,sorce from a where id = 1;
查询表中id=1的name和sorce

在这里插入图片描述
3、竖向查看

select * from a\G;

在这里插入图片描述
4、查看前两行(limit)

select * from a limit 2;

在这里插入图片描述
5、查看从第二行开始两行

selcet * from a limit 2,2;

在这里插入图片描述

4.2修改

格式:
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];

1、修改指定内容

update a set passwd = 123123 where id=2;

在这里插入图片描述

4.3删除

格式:
DELETE FROM 表名 [WHERE 条件表达式];

1、删除指定行

delete from a where id=3;

在这里插入图片描述
2、删除表

delete from a;

在这里插入图片描述

4.4alter修改

1、修改表名

alter table a rename d;

在这里插入图片描述
2、增加字段

alter table b add address varchar(50) not null default 'null';

在这里插入图片描述
3、修改字段(列)名

alter table b change address school varchar(10);

在这里插入图片描述
4、添加唯一键

alter table b change name xm char(5) unique key;

在这里插入图片描述
在这里插入图片描述
5、删除字段

alter table b drop school;

在这里插入图片描述
6、指定主键的第二种方式

#if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建

#int(4) zerofill:表示若数值不满4位数,则前面用"0"填充,例0001

#auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;

自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且 添加失败也会自动递增一次

#unique key:表示此字段唯一键约束,此字段数据不可以重复:一张表中只能有一个主键,但是一张表中可以有多个唯一键

#not null:表示此字段不允许为NULL)

在这里插入图片描述
7、复制表格式(备份)

create table a like b;

在这里插入图片描述
8、复制表内容(备份)

inster into a select * from b;

在这里插入图片描述
9、创建复制表(主键)

create table zhangsan (select * from a);

在这里插入图片描述
10、delete清空表(删除表内的所有数据)
DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。

delete from a;

在这里插入图片描述
11、trunkcate清空表
TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表内数据后,ID 会从 1 开始重新记录

trunkcate table b;

在这里插入图片描述

删除速度:drop> truncate > delete(安全性最高)

12、创建临时表
临时表创建成功之后,使用SHOWTABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。
如果在退出连接之前,也可以可执行增删改查等操作,比如使用DROP TABLE语句手动直接删除临时表。

PS:无法创建外键

创建临时表
在这里插入图片描述
show查看不了临时表
在这里插入图片描述
可以用desc查看
在这里插入图片描述
使用select删除不了,但是可以drop可以删除
在这里插入图片描述

5、总结

SQL语句是控制管理数据库的语句,可以对数据库进行增删改查,完成对数据库的管理。数据库SQL是一种用于管理关系型数据库的编程语言。它是一种标准化的语言,被广泛用于各种关系型数据库,包括 Microsoft SQL Server、MySQL、Oracle 等。SQL 语言具有简洁、灵活、高效的特点,可以实现对数据库的各种操作,包括查询、插入、更新、删除、排序、分组等。SQL 语言的基本语法包括 SELECT、FROM、WHERE、ORDER BY、GROUP BY 等关键字。

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

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

相关文章

使用Spring Boot和MyBatis访问数据库

使用Spring Boot和MyBatis访问数据库 Spring Boot和MyBatis是Java开发中非常流行的框架,它们可以帮助你轻松地构建和管理数据库应用程序。本文将介绍如何使用Spring Boot和MyBatis访问数据库,并提供示例代码以帮助你入门。 准备工作 在开始之前&#x…

什么是FMEA(失效模式和影响分析)?

失效模式和影响分析(FMEA)是一个在开发阶段,用于确定产品或流程可能的风险和失败点的有条理的过程。FMEA团队会研究失效模式,也就是产品或流程中可能出错的地方,以及这些失效可能带来的影响(如风险、损害、…

小程序如何关联公众号来发送模板消息

有时候我们可能需要通过公众号来发送一些小程序的服务通知,比如订单提醒、活动通知等。那么要如何操作呢? 1. 有一个通过了微信认证的服务号。需要确保小程序和公众号是同一个主体的。也就是说,小程序和公众号应该都是属于同一个企业。如果还…

当下IT测试技术员的求职困境

从去年被裁到现在,自由职业的我已经有一年没有按部就班打卡上班了。期间也面试了一些岗位,有首轮就挂的,也有顺利到谈薪阶段最后拿了offer的,不过最后选择了拒绝。 基于自己近一年的面试求职经历,我想聊聊当下大家在求…

博弈论——反应函数

反应函数 1 引言 谢老师的《经济博弈论》书中对反应函数并没有给出一般笼统的定义,而是将其应用与古诺模型并给出了相关解释:反应函数是指在无限策略的古诺博弈模型中,博弈方的策略有无限多种,因此各个博弈方的最佳对策也有无限…

双向认证配置

1.Linux准备环境 openssl 使用openssl version查看openssl版本,如果没有安转openssl,可以执行 yum install openssl 安装 nginx 我们使用nginx来进行https的双向认证,首先我们需要安装nginx并附带SSL 模块 详细的安装过程可以查看 Linux安装n…

Arrays的用法(常见方法的使用)

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 常见算法的API(Arrays&#xff…

Cookie和Session的作用

最近学习Session和Cookie的总结,我发现好多做测试的朋友对这个的理解不是那么透彻;如果理解了Cookie和session的原理和使用,在我们的测试工作中,有很大的帮助;尤其是在接口测试,性能测试中。。。 目录 一、…

报错注入

1.原理 2.注入手法

tomcat线程模型

NioEndpoint组件 Tomcat的NioEndpoint实现了I/O多路复用模型。 工作流程 Java的多路复用器的使用: 创建一个Selector,在其上注册感兴趣的事件,然后调用select方法,等待感兴趣的事情发生感兴趣的事情发生了,比如可读…

java Spring Boot日志输出格式配置方法

前面 我们文章中 我们已经能把日志控制住了 但前面这些信息 又是什么呢? 如果不了解日志 看起来是挺痛苦的 其实 我们可以将日志分为 一下几个部分去读它 首先是这个日志的输出时间 是在什么时候发生的 然后是 日志的基本 之前我们也讲过 有信息 报错 警告等 然后…

适用于初学者,毕业设计的5个c语言项目,代码已开源

C语言项目集 项目介绍 该项目适用于初学者学习c语言,也适用于高校学生课程设计,毕业设计参考。 项目并不能满足所有人的需求,可进行项目指导,定制开发。 开源地址 c语言项目代码地址 项目列表 该项目包含如下5个管理系统&am…

ESP8266使用记录(三)

通过udp把mpu6050数据发送到PC端 /********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : ESP8266WiFiUdp_12 团队/Team : 太极创客团队 / Taichi-Maker (w…

【视频处理】通过调用图像来重建新影片及计算颜色通道的平均灰度值,并检测帧与前一帧之间的差异(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

网易云信4K 8K RTC助力远程医疗的技术实践

// 编者按:随着近年来国家关于缓解医疗资源分配不均的一系列政策出台,远程医疗作为平衡医疗资源分配的有力手段,目前正处于强劲发展阶段。网易云信运用超高清RTC视频技术助力医疗行业实现了远程高清视频病理分析和手术示教等能力。LiveVide…

Beyond Compare 4对比工具注册

Beyond Compare是一款文件及文件夹(目录)的对比工具。 Beyond Compare不仅可以快速比较出两个目录的不同,还可以比较每个文件的内容,而且可以任意显示比较结果。 Beyond Compare程序内建了文件浏览器,方便您对文件、…

NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061

今天发现,有两个处理器,启动以后,数据流不过去,后来,锁定问题在,queue队列上面,因为别的队列都可以通过,右键,empty queue清空,就是 这个队列不行,这个队列无法被删除,至于为什么导致这样的, 猜测是因为之前,流程设计好以后,队列没有设置背压,也没有设置队列中的内容大小和fl…

基于人脸5个关键点的人脸对齐(人脸纠正)

摘要:人脸检测模型输出人脸目标框坐标和5个人脸关键点,在进行人脸比对前,需要对检测得到的人脸框进行对齐(纠正),本文将通过5个人脸关键点信息对人脸就行对齐(纠正)。 一、输入图像…

nginx实现反向代理实例

1 前言 1.1 演示内容 在服务器上访问nginx端口然后跳转到tomcat服务器 1.2 前提条件 前提条件:利用docker安装好nginx、tomcat、jdk8(tomcat运行需要jdk环境) 只演示docker安装tomcat: 默认拉取最新版tomcat docker pull t…