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是在分组之后进行过滤
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python教程之字典(Dictionary)操作详解

文章目录 前言一、创建字典二、访问字典里的值三、访问字典里的值四、删除字典元素五、字典键的特性六、字典内置函数&方法七、字典练习代码关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Py…

docker---dockerfile相关知识

第 3 章 Docker 高级实践 在这一部分我们主要来介绍一些Docker的高级内容&#xff1a; Dockerfile 和 Docker compose 3.1 Dockerfile Dockerfile我们从下面的几个方面来介绍&#xff1a; Dockerfile简介 Dockerfile快速入门 Dockerfile详解 Dockerfile简单 实践 3.1.1 Docke…

JavaEE平台技术——预备知识(Maven、Docker)

JavaEE平台技术——预备知识&#xff08;Maven、Docker&#xff09; 1. Maven2. Docker 在观看这个之前&#xff0c;大家请查阅前序内容。 &#x1f600;JavaEE的渊源 &#x1f600;&#x1f600;JavaEE平台技术——预备知识&#xff08;Web、Sevlet、Tomcat&#xff09; 1. M…

Canal

canal译意为水道/管道/沟渠&#xff0c;主要用途是基于 MySQL 数据库增量日志解析&#xff0c;提供增量数据订阅和消费。 1.canal 工作原理 canal 模拟 MySQL slave 的交互协议&#xff0c;伪装自己为 MySQL slave &#xff0c;向 MySQL master 发送dump 协议MySQL master 收到…

mac 安装 selenium + chrome driver

前言 使用 selenium 模拟浏览器渲染数据&#xff0c;需要依赖各浏览器的驱动才能完成&#xff0c;因此需要单独安装chrome driver 查看本地 chrome 浏览器的版本 可以看到我这里已经是 arm 架构下最新的版本了 下载对应的 chrome driver 访问下面的地址&#xff1a; Chrome…

Redis7--基础篇2(Redis的十大数据类型及常用命令)

1. Redis的十大数据类型及常用命令 Redis是key-value键值对类型的数据库&#xff0c;我们所说的数据类型指的是value的数据类型&#xff0c;key的数据类型都是字符串。 1.1 字符串&#xff08;String&#xff09; string是redis最基本的类型&#xff0c;一个key对应一个val…

easyscholar配置秘钥连接Zotero-style,更方便的了解文献!

如果你不知道什么是easyScholar,以及怎么安装easyScholar? 请参见文章 easyScholar 一、easyscholar配置秘钥 1.首先打开easyscholar插件&#xff0c;并登录 2.点击自定义数据集 3.依次点击 用户信息-开放接口 4.点击刷新 5.在Zoter中 编辑-首选项-高级-编辑器 6.点击…

[C]环境(0/0)→ 环境配置

这里写目录标题 0x00 额环境下载解压 0x00 额 写了那么多C的入门&#xff0c;就是没写C语言的环境配置&#xff0c;乘此机会写了吧。 环境下载 直接在我这下载就好了&#xff0c;毕竟用了挺久没啥问题的 C语言环境&#xff08;gcc version 8.1.0&#xff09; 解压 最后得到…

快速构建高质量中文APP登录注册页面Figma源文件

在这个数字化时代&#xff0c;移动应用程序&#xff08;APP&#xff09;已经成为我们日常生活中不可或缺的一部分。如果您正在为您的中文APP开发登录注册页面&#xff0c;并寻找高质量的UI设计素材&#xff0c;那么您来对地方了&#xff01;我们为您提供了一个完整的Figma源文件…

解答开发转软件测试岗的困惑

有个知乎网友做了一年的软件开发&#xff0c;打算转软件测试&#xff0c;但是面试了几家都没有回音&#xff0c;希望大家能给一点建议。 由于这个问题不是今年提的&#xff0c;所以不用担心知友是受到了疫情的影响&#xff0c;单纯应该是个人的问题。 因为他只做了一年开发就想…

Redis 扩展 RedisBloom 插件,解决缓存击穿、穿透

文章目录 一、概述二、编译准备2.1 升级 make2.2 安装 Python3 三、编译 RedisBloom四、测试 RedisBloom五、应用场景5.1 缓存击穿5.2 缓存穿透5.3 原理总结 六、存在的问题 如果您对Redis的了解不够深入请关注本栏目&#xff0c;本栏目包括Redis安装&#xff0c;Redis配置文件…

【tgcalls】Instance接口的实例类的创建

tg 里有多个版本,因此设计了版本管理的map,每次可以选择一个版本进行实例创建这样,每个客户端就可以定制开发了。tg使用了c++20创建是要传递一个描述者,里面是上下文信息 G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\Instance.cpp可以看到竟然是…

js获取地址中携带的省市区

match() 方法可在字符串内检索指定的值&#xff0c;或找到一个或多个正则表达式的匹配。 match() 方法将检索字符串 String Object&#xff0c;以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。如果 regexp 没有标志 g&#x…

带有滑动菜单指示器的纯 CSS 导航选项卡

效果展示 CSS 知识点 filter 属性回顾 transition 属性回顾 使用单选框实现导航菜单的思路 单选框当点击完成后就会有一个:checked属性&#xff0c;可以利用这个属性来实现导航菜单底部滑动块的滑动动画和当前菜单项激活状态的管理。 整体页面结构 <div class"tab…

ZZ308 物联网应用与服务赛题第F套

2023年全国职业院校技能大赛 中职组 物联网应用与服务 任 务 书 &#xff08;F卷&#xff09; 赛位号&#xff1a;______________ 竞赛须知 一、注意事项 1.检查硬件设备、电脑设备是否正常。检查竞赛所需的各项设备、软件和竞赛材料等&#xff1b; 2.竞赛任务中所使用…

【Royalty in Wind 2.0.0】个人体测计算、资料分享小程序

前言 Royalty in Wind 是我个人制作的一个工具类小程序。主要涵盖体测计算器、个人学习资料分享等功能。这个小程序在2022年第一次发布&#xff0c;不过后来因为一些原因暂时搁置。现在准备作为我个人的小程序重新投入使用XD PS&#xff1a;小程序开发部分我是在21年跟随郄培…

配置Linux为无线路由器

配置Linux无线路由器 将Linux配置为无线路由器。使用hostapd&#xff0c;可以配置无线网卡为AP模式。 这里使用buildroot来生成这个工具。Wi-Fi模块使用的是 rt8188eus。 1. 内核配置 2. buildroot配置 开启 rt8188eus 驱动 3. 启动hostapd 系统启动后&#xff0c;会自动加…

innovus:set_ccopt_property基本用法备忘录(中)

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 insertion_delay insertion delay的作用是指导clock tree做长或做短。具体可以看以下文章:innovus set_ccopt_property insertion_delay insertion_delay的设置的来源有三个…

detectron2环境搭建及自定义coco数据集(voc转coco)训练

detectron2建议ubuntu进行环境搭建&#xff0c;Windows大概率报错 一 环境搭建 创建虚拟环境 conda create -n detectron2 python3.8 -y conda activate detectron2后面下载源代码建议存到git中再git clone git clone https://github.com/facebookresearch/detectron2.git …

Linux搭建我的世界MC服务器 【Minecraft外网联机教程】

文章目录 前言1. 安装JAVA2. MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7. 配置公网访问地址8.远程联机测试9. 配置固定远程联机端口地址9.1 保留一个固定tcp地址9.2 配置固定公网TCP地址9.3 使用固定公网地址远程联机 前言 Li…