LinuxMySql

结构化查询语言

DDL(数据定义语言)

删除数据库drop database DbName;
创建数据库create database DbName;
使用数据库use DbName;
查看创建数据库语句以及字符编码show create database 43th;
在这里插入图片描述
修改数据库属性(字符编码改为gbk)alter database DbName default character set gbk;
在这里插入图片描述
字符校对集
查看数据库支持的字符集show character set;
在这里插入图片描述

查看相应字符集的校对规则show collation;
在这里插入图片描述
数据类型
在这里插入图片描述
TIMESTAMP在进行insert/updata自动记录

创建表结构

create table tName(field1 datatype,field2 datatype,...
);

在这里插入图片描述
查看表结构desc tName; show create table person;
在这里插入图片描述

修改表结构
添加列(字段)alter table tName add field datatype;
在这里插入图片描述
对字段名进行修改alter table tName change field1 field2datatype;
在这里插入图片描述
对字段名的类型进行修改alter table tName modify field datatype;
在这里插入图片描述

删除一个字段alter yable tName drop field;
在这里插入图片描述
删除表结构drop table tName;
在这里插入图片描述
查看数据库中有多少表show tables;
在这里插入图片描述

DML(数据控制语言)

在表中对指定的列插入数据insert into tName(field1,field2...) values (field1Vale,field2Vale...);
在这里插入图片描述
对所有列都进行数据添加insert into tName values(field1Vale,field2Vale....);

在这里插入图片描述
对所有列添加多行数据insert into tName(field1,field2...) values(field1vale,field2vale....),(field1Vale,field2Vale....),...;效率高于每次insert一条语句
在这里插入图片描述
修改某一条数据进行修改update tName set field1=XXX[where..];
带where作用于某一行,不带where作用于所有行
在这里插入图片描述
添加新的列alter table tName add coluName coluType;
在这里插入图片描述
复制表

复制表结构不复制数据create table newTName like oldTName;
在这里插入图片描述

复制表结构和数据create table newTName select * from oldTName;
在这里插入图片描述

删除表中数据不删除表结构delete from tName[whilecondition];
在这里插入图片描述
在这里插入图片描述

DQL(数据查询语言)

查询命令select[*]|{field1,field2...}while tName [where condition];
在这里插入图片描述
去除重复列,使用distinct关键字,当distinct作用于单个字段时,去除重复的列即可,当distinct作用于多个字段时,必须要所有字段相同才可以消除
distinct必须放在第一个关键字之前,不然会报错
在这里插入图片描述
select语句选择的列可以进行运算
使用as还可以对列区别名
在这里插入图片描述
获取当前使用数据库 select database();
在这里插入图片描述
获取当前时间,使用curdate()函数
在这里插入图片描述
选择查询select id,name,chinese from person where chinese between 10 and 90;
枚举查询select id,name,chinese from person where chinese in(88,77,90,60);
模糊查询like
通配符_:下划线代表一个任意字符select * from person where name like '-i';
通配符%:百分号代表多个字符slelect * from person name like 'z%';

对查询的结果集进行排序默认采用升序ASC方式排序,DESC为降序select [*] from tName orger by culName;
在这里插入图片描述

分页查询(常考点)

(1)第一种写法limit
只是查看前三名的字段select * from person order by english desc limit 3;
在这里插入图片描述
每页三个数据,查看第二页的数据select * from person order by english desc limit 3,3;
在这里插入图片描述
(2)第二种写法limit m offset n n表示的是偏移记录条数,m表示要显示的数据条数

只是查看前三名的字段select * from person order by english desc limit 3 offset 0;
在这里插入图片描述
每页三个数据,查看第二页的数据select * from person order by english desc limit 3offset 3;
在这里插入图片描述

数据完整性:
(1)实体完整性:表中的每一行数据都是唯一的,不能重复出现,通过主键(PRIMARYKEY)来实现。
(2)域(field 字段,列)完整性:每一行必须要符合某种特定的数据类型或约束,
非空约束 NOT NULL 该字段不能为空
唯一约束 UNIQUE 该字段不允许重复,允许为空
获取唯一约束的名字show create table student;
删除一个唯一约束 alter table tName drop index name ;
(3)参照完整性:外键约束 FOREIGNN KEY,外键 是另一张表的主键
表已经存在的情况下,需要使用alter table tName add constraint fk_1 fGPRRIGNN KEY(s_id) REFERENCES student(id);

数据库的备份和恢复

数据库的备份在终端下使用命令mysqldump -u root -p 43th>43th.sql
在这里插入图片描述
恢复数据库在终端下使用命令mysql -u root -p 43th<43th.sql
或者在mysql>中使用source 43th.sql;相当于在当前的空数据库下执行43th.sql中的sql语句导入数据
因为我们备份的数据库文件中不存在创建数据库的语句,因此我们导入数据库之前因该先创建数据库在进行数据数据的导入

联合主键
对某一张表,一条的记录的唯一性由两个或者以上的字段共同决定。
如果是由两个字段决定的,只要其中一个之一不相同,就是一条不同的记录。只有当两个字段都相同时,该记录不能插入到表中

DQL复杂查询

连接查询
针对多张表
交叉连接(笛卡尔积)[三种写法操作结果一致]
select * from letfTable cross join rightTable;
selsct * from leftTable join rightTable;
select * from leftTable,rightTable;

在这里插入图片描述
内连接
关键字inner join (一般都会加上on选择条件)
select * from leftTable inner join rightTable on leftTable.id=rightTable.id;
select * from leftTable inner join rightTable on leftTable.id=rightTable.id where leftTable.id>3;
外连接
执行左右外连接需要使用on关键字加入选择条件,如果使用左外连接是,当右表中没有与左表中对应的记录时,查询出的右表数据全部用NULL代替,左表中的所有数据都出现;对于右外连接也是一样的
左外连接letf outer join
select * from leftTable letfr outer join rightTable on leftTable.id=rightTable;
右外连接right outer join
select * from leftTable letfr outer join rightTable on leftTable.id=rightTable;

子查询
子查询也叫嵌套查询,是指在where子句或from子句中又嵌入select查询语句(一般写在where子句)

select * from person where id = (select id from person where id < 4);
select * from (select id,name,chinese from person where name like ‘k%’) as t;

联合查询
联合查询能够合并两条查询语句的查询结果,去掉其中重复数据行,然后返回没有重复数据行的查询结果。联合查询使用union关键字

select * from person where chinese > 80 union select * from person where english > 80;

报表查询

统计函数
cout()计数
sum()求和
avg()求平均值
max()最大值
min()最小值
在这里插入图片描述

select count(*) ,chinsesfrom person group by chinese;//对chinese中数值相同的进行统计,打印出相同不同数据的相同数量
在这里插入图片描述

select count(*) ,chinsesfrom person group by chinese having chinses >80;//进行分组之后还要对数据进行过滤使用having子句,where是在没有分组之前进行过滤,having是在分组之后进行过滤
在这里插入图片描述

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

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

相关文章

HR人才测评,采用线上测评做春招秋招

从人力资源管理的工作&#xff0c;已经有好些年了&#xff0c;我只想说这不是一个有创意和创造性的工作&#xff0c;因为大部分时间我都在从事数据方面的工作。关于公司内部的文案工作先且不说&#xff0c;这里分享下我做招聘工作的过程。 每年春秋两季的校招&#xff0c;算是…

基于单片机的多层电梯控制仿真系统

**单片机设计介绍&#xff0c; 基于单片机的多层电梯控制仿真系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的多层电梯控制仿真系统是一个复杂的系统&#xff0c;它需要结合单片机技术、控制理论、电子技术以及人…

RabbitMQ 系列教程

一、RabbitMQ 部署及配置详解(集群部署) 二、RabbitMQ 部署及配置详解 (单机) 三、RabbitMQ 详解及实例&#xff08;含错误信息处理&#xff09; 四、RabbitMq死信队列及其处理方案 五、RabbitMQ Java开发教程—官方原版 六、RabbitMQ Java开发教程&#xff08;二&#x…

虚拟机复制后,无法ping通问题解决

虚拟机复制后&#xff0c;无法ping通问题解决 可能出现的现象 ssh工具连接不上虚拟机&#xff1b;虚拟机ping不通外网或者ping不通内网其它虚拟机&#xff1b; 原因 原虚拟机和新复制出来的虚拟机的ip地址重复&#xff1b;原虚拟机和新复制出来的虚拟机的MAC地址重复&#…

Spring Boot中使用Spring Data JPA访问MySQL

Spring Data JPA是Spring框架提供的用于简化JPA&#xff08;Java Persistence API&#xff09;开发的数据访问层框架。它通过提供一组便捷的API和工具&#xff0c;简化了对JPA数据访问的操作&#xff0c;同时也提供了一些额外的功能&#xff0c;比如动态查询、分页、排序等。 …

坐标系转换(仅作记载)

一.极坐标转换为普通坐标系 参考&#xff1a;极坐标方程与直角坐标方程的互化 - 知乎 (zhihu.com) 公式&#xff1a;&#xff08;无需考虑象限引起的正负问题&#xff09; 普通坐标系转换为极坐标系 参考&#xff1a; 极坐标怎么与直角坐标系相互转化&#xff1f; - 知乎 (zh…

基于SSM的建筑装修图纸管理平台

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

Spring Task定时任务框架

二十四、Spring Task 24.1 介绍 Spring Task 是Spring框架提供的任务调度工具&#xff0c;可以按照约定的时间自动执行某个代码逻辑。 定位&#xff1a;定时任务框架 作用&#xff1a;定时自动执行某段Java代码 为什么要在Java程序中使用Spring Task&#xff1f; 应用场景…

elementui-plus el-tree组件数据不显示问题解决

当前情况: 显示: 注意看右侧的树是没有文字的,数据已经渲染,个数是对的,但就是没有文字, 解决: 对比以后发现是template中的#default{data}没有写大括号导致的 所以写上大括号后: 正常显示

理解MySQL的日志 Redo、Undo

理解MySQL的Redo日志和Undo日志 1、MySQL 日志文件解决的问题2、redo 日志2.1、redo log 的组成2.2、redo log 刷盘策略2.3、MySQL 的 redo log解决了哪些问题 3、undo 日志3.1、undo 日志作用3.2、undo log 的类型3.3、undo log 的生命周期3.4、事务回滚相关的几个隐藏字段 1、…

垂直领域大模型落地思考

相比能做很多事&#xff0c;但每件事都马马虎虎的通用大模型&#xff1b;只能做一两件事&#xff0c;但这一两件事都能做好&#xff0c;可被信赖的垂直大模型会更有价值。这样的垂直大模型能帮助我们真正解决问题&#xff0c;提高生产效率。 本文将系统介绍如何做一个垂直领域…

【Linux精讲系列】——vim详解

​作者主页 &#x1f4da;lovewold少个r博客主页 ⚠️本文重点&#xff1a;c入门第一个程序和基本知识讲解 &#x1f449;【C-C入门系列专栏】&#xff1a;博客文章专栏传送门 &#x1f604;每日一言&#xff1a;宁静是一片强大而治愈的神奇海洋&#xff01; 目录 目录 ​作者…

Django(二、静态文件的配置、链接数据库MySQL)

文章目录 一、静态文件及相关配置1.以登录功能为例2.静态文件3.资源访问4.静态文件资源访问如何解决&#xff1f; 二、静态文件相关配置1. 如何配置静态文件配置&#xff1f;2.接口前缀3. 接口前缀动态匹配4. form表单请求方法补充form表单要注意的点 三、request对象方法reque…

11、云服务器的宝塔面板安装、在宝塔安装MySQL、Redis、NGINX、JAVA

1►云服务器的宝塔面板安装 如果购买云服务器的时候&#xff0c;选择系统为宝塔面板&#xff0c;那么就不需要麻烦了。宝塔已经装好了。 但是如果没有选择宝塔面板&#xff0c;就需要手动安装。 第一步&#xff1a;点击重装系统 第二步&#xff1a;选择宝塔面板 宝塔面板官方…

如何写一篇吊炸天的竞品分析

这段时间&#xff0c;除了撩妹之外&#xff0c;最多的就是竞品分析了。最近很多临近毕业的同学也在四处应聘产品岗&#xff0c;而一份不错的竞品分析一定能为你的求职加分不少。于是&#xff0c;有着菩萨心肠天使面孔魔鬼身材的我&#xff0c;就来教大家怎么做一份完整的竞品分…

MySQL的表格去重,史上最简便的算法,一看就会

首先&#xff0c;表格my_tab02存在很多重复的数据&#xff1a; #表格的去重 方法一&#xff1a; 详细内容传送门&#xff1a;表格的去重 -- 思路&#xff1a; -- 1.先创建一张临时表 my_tmp,该表的结构和my_tab02一样 -- 2.把my_tmp的记录通过distinct关键字 处理后 把记录复…

『 MySQL数据库 』数据库基础之库的基本操作

文章目录 库的操作创建数据库字符集与校验集那么该如何查看当前数据库默认的字符集与校验规则?查看数据库所支持的字符集与校验集不同字符集(校验集)之间的区别 基本操作查看数据库显式数据库创建语句数据库的修改数据库的删除数据库的备份检查连接 库的操作 创建数据库 CRE…

APISpace IP归属地查询接口案例代码

1.IP归属地查询API 1.1 API接口简介 IP归属地查询API&#xff1a;根据IP地址查询归属地信息&#xff0c;包含国家、省、市、区县和运营商等信息。APISpace 提供了IPv4 和 IPv6 的IP归属地查询接口&#xff0c;并且包含了各种归属地精度查询的接口。 1.2 IPv4 IPv4归属地查询…

51单片机+SIM800C(GSM模块)实现短信发送功能

一、前言 本项目利用51单片机和SIM800C GSM模块实现短信发送功能。短信作为一种广泛应用的通信方式&#xff0c;在许多领域具有重要的作用&#xff0c;如物联网、安防系统、远程监控等。通过将51单片机与SIM800C GSM模块相结合&#xff0c;可以实现在各种应用场景下的短信通信…