MySql常用命令总结

Linux单独编译设备树,开发者分享 | Petalinux 工程中设备树的介绍 本文来自XILINX嵌入式产品应用工程师 Terry Ni设备树是 Petalinux kernel 的关键组件,接下来以 2020.1 版本为例,为大家介绍一下在Xilinx Petalinux 工程中的设备树是如何产生,配置以及修改的。Petalinux 工程中设备树的位置当我们创建了一个 petalinux 工程后(以zcu102为例),在编译的时候,会自动生成对应的设备树文件。这些设备树的... 阅读详情

一. ubuntu下常用

1.显示现有的数据库

show databases;

2.显示当前所在的所在的数据库

select database();

3.使用xxx数据库

use xxx;

4.进入xxx数据库后,查看所有表

show tables;

二. 数据库操作

1.创建xxx数据库

create database xxx;

2.删除xxx数据库

drop database xxx charset=utf8;

3.切换到xxx数据库

use xxx;

4.查看当前选择的数据库

select database();

三. 表操作

1.常用的的数据类型

数字:int,decimal
字符串:varchar,text
日期:datetime
布尔:bit

2.约束条件

主键primary key
非空not null
惟一unique
默认default
外键foreign key

3.显示当前数据库中的所有表

show tables;

4.创建一个human表,包含ID,名字,性别,年龄,生日

create table human(
    id int auto_increment primary key,
    name varchar(10) not null,
    sex bit default 1,
    age int not null,
    birthday datetime
);

5.显示当前创建human表所有字段对应的信息

desc human;

//输出的信息如下:
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(11)     | NO   | PRI | NULL    | auto_increment |
| name     | varchar(10) | NO   |     | NULL    |                |
| sex      | bit(1)      | YES  |     | b'1'    |                |
| age      | int(11)     | NO   |     | NULL    |                |
| birthday | datetime    | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+

6.显示当前yyy表所有的数据

select * from yyy;

7.删除当前yyy表

drop table yyy;

8.把当前yyy表改成zzz表

alter table yyy rename zzz;

9.向当前human表插入字段,方式1

insert into human values(0,'吕布',1,58,'235-5-2');

//一次插入多条
insert into human values(0,'吕布',1,58,'235-5-2'),(0,'刘备',1,68,'232-5-6');

10.向当前human表插入字段,方式2

insert into human(name,age,weight) values('张飞',47,66.7);

11.human添加表列,名为weight,约束为不为空

alter table human add  weight float not null;

12.human删除weight表列

alter table human drop weight;

13.human修改name表列类型

alter table human change name man  char(20);

14.根据条件删除,删除age<60

delete from human where age<60; 

15.通常删除并不是真正的删除,而是设置一个标志位isDelete,逻辑上删除

alter table human add isDelete bit default 0;
//当isDelete为1是默认是删除的,用户查询数据时过滤为1的,比如:
select * from human where isDelete=0;

16.update更新

update human set name="曹操" where id=1;

四. 备份与恢复

1.数据备份

//1. 进入超级管理员
sudo -s
//2. 进入mysql库目录
cd /var/lib/mysql
//3. 运行mysqldump命令
mysqldump –uroot –p 数据库名 > ~/Desktop/备份文件.sql;
按提示输入mysql的密码
  1. 数据恢复
//1. 连接mysql,创建数据库
//2. 退出连接,执行如下命令(下面的数据库名就是步骤1创建的数据库名)
mysql -uroot –p 数据库名 < ~/Desktop/备份文件.sql
根据提示输入mysql密码

五. 查询

根据这个表中的数据来讲解:

mysql> desc human;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(11)     | NO   | PRI | NULL    | auto_increment |
| name     | varchar(10) | NO   |     | NULL    |                |
| sex      | bit(1)      | YES  |     | b'1'    |                |
| age      | int(11)     | NO   |     | NULL    |                |
| birthday | datetime    | YES  |     | NULL    |                |
| isDelete | bit(1)      | YES  |     | b'0'    |                |
+----------+-------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)

1.查询xx表所有数据

select * from human;

//显示现有的数据:
mysql> select * from human;
+----+---------+------+-----+---------------------+----------+
| id | name    | sex  | age | birthday            | isDelete |
+----+---------+------+-----+---------------------+----------+
|  4 | 刘备    | 1    |  68 | 0232-05-06 00:00:00 |          |
|  5 | 吕布    | 1    |  58 | 0235-05-02 00:00:00 |          |
|  6 | 刘备    | 1    |  68 | 0232-05-06 00:00:00 |          |
+----+---------+------+-----+---------------------+----------+

2.查询时消除重复行,sex为xx表中的性别属性0/1

select distinct sex from human;

3.根据条件来查询

select * from human where 条件;

3.1 比较运算符,> < = 或组合

select * from human where id<5;

select * from human where name!="吕布";

3.2 逻辑运算符,and or not

select * from human where id>4 and isdelete=0;

3.3 模糊查询,like % _ 或组合

//1. 查找姓吕的
select * from human where name like '吕%';

//2. 查找含有“备”字的:
select * from human where name like '%备%';

//3. 查询姓吕并且名字是一个字的人:
select * from human where name like '吕_';

3.4 范围查询,in between … and …

select * from human where id in(1,3,8);

select * from human where id between 3 and 8;

select * from human where id between 3 and 8 and sex=1;

3.5 空判断 is (not)null

select * from human where birthday is not null;

3.6 优先级 小括号>not>比较运算符>逻辑运算符

4.聚合为查询结果显示

4.1 查询总数

select count(*) from human;

select count(name) from human;

4.2 查询最大值

select max(age) from human;

4.3 查询最小值

select min(id) from human where isdelete=0;

4.4 查询总和

select avg(age) from human where isdelete=0 and sex=0;

4.5 查询平均值

select avg(age) from human where isdelete=0 and sex=1;

5.分组查询

按照字段分组,表示此字段相同的数据会被放到一个组中;分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中;可以对分组后的数据进行统计,做聚合运算

select 列1,列2,聚合... from 表名 group by 列1,列2,列3...

5.1查询男女生总数,as 性别–>别名

select sex as 性别,count(*)
from human
group by sex;

5.2 having后面的条件运算符与where的相同,查询男生总人数

//方案一
select count(*)
from human
where sex=1;

//方案二:
select sex as 性别,count(*)
from human
group by sex
having sex=1;

6.排序 asc升序,desc降序:

select * from human
where sex=1 and isdelete=0
order by id desc;

7.分页获取, 从下标0开始,获取3条数据

select * from human limit 0,3;

六. 多表操作

1.创建三个表,students,subjects,scores

//学生
create table students(
    id int auto_increment primary key not null,
    name varchar(10) not null,
    sex bit default 1
);

//学科
create table subjects(
    id int auto_increment primary key not null,
    name varchar(20) not null
);

//分数,最后一条为关联外键的写法
create table scores(
    id int auto_increment primary key not null,
    score decimal(5,2) not null,
    stuid int,
    subid int,
    foreign key(stuid) references students(id)
);

2.动态插入外键

alter table scores add foreign key(subid) references subjects(id);

//添加外键名字sco_sub,可以根据名字把外键删除掉,通常不删
alter table scores add constraint sco_sub foreign key(subid) references subjects(id);

3.插入多条数据

//students
insert into students values(0,"张三",1),(0,"李四",1),(0,"王五",1),(0,"赵柳",0);

//subjects
insert into subjects(name) values("语文"),("数学"),("英语");

//scores, (0,89.5,1,1)->(id,score,stuid=students(id),subid=sujects(id)),stuid要students中存在的id,subid同理
insert into scores values(0,89.5,1,1),(0,96,1,2),(0,85,1,3),
(0,93.5,2,1),(0,88,2,2),(0,95,2,3),
(0,79,3,1),(0,66,3,2),(0,77,3,3),
(0,55.5,4,1),(0,58,4,2),(0,65,4,3);

3.查询

//1. 查询全部
select * from scores 
inner join students on scores.stuid=students.id
inner join subjects on scores.subid=subjects.id;

//2. 根据字段查询,
select students.name,subjects.name,score
from scores
inner join students on students.id=scores.stuid
inner join subjects on subjects.id=scores.subid;

//3. 聚合分组查询,查平均分
select students.name,avg(score)
from scores
inner join students on scores.stuid=students.id
group by students.name;

//4. 聚合分组+条件查询,男的总分; 此处scores.score可以省略scores,因为后面查询的是from scores
select students.name,sum(scores.score)
from scores
inner join students on scores.stuid=students.id
where students.sex=1
group by students.name;

4.视图, 用于结合多表后查询

//1. 创建, 因为students.*里面的字段包含(id,name,sex)和subjects.name重名了,所以要起别名
create view v_1 as
select students.*,subjects.name as title,scores.score from scores
inner join students on students.id=scores.stuid
inner join subjects on subjects.id=scores.subid;

//起别名写法, 表名 as 表别名
create view v_1 as
select stu.*,sub.name as title,sco.score from scores as sco
inner join students as stu on stu.id=sco.stuid
inner join subjects as sub on sub.id=sco.subid;

//2. 查询全部
select * from v_1;

//3. 查询视图中姓名和性别
select name,sex from v_1 where score>70;

5.业务,银行存取,支付等

//1. 开始事物
begin;

//2. 操作过程,比如更新/插入字段: 执行后内存发生变化,但硬件内存没有生效
update students set name='陈二' where id=1;

//3. 提交(或回退=取消)
commit;
//回退
rollback;

6.自关联(多表做成一张表,减少多表的开销)

//1. 创建
create table areas(
    id int primary key,
    atitle varchar(20),
    pid int,
    foreign key(pid) references areas(id)
);

//2. 从sql文件中导入数据
source areas.sql;

//3. 查询一共有多少个省,查询省的名称为“山西省”的所有城市
select city.* from areas as city
inner join areas as province on city.pid=province.id
where province.atitle='山西省';

//4. 查询市的名称为“广州市”的所有区县
select dis.*,dis2.* from areas as dis
inner join areas as city on city.id=dis.pid
left join areas as dis2 on dis.id=dis2.pid
where city.atitle='广州市';

七. 服务器上MySQL

1.安装

sudo apt-get install mysql-server mysql-client

2.管理服务

//1. 启动
service mysql start

//2. 停止
service mysql stop

//3. 重启
service mysql restart

3.允许远程连接服务

//1. 找到mysql配置文件, 将bind-address=127.0.0.1注释
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

//2. 登录mysql
mysql -uroot -p
请输入密码:mysql

//3. 执行以下两条命令
grant all privileges on *.* to 'root'@'%' identified by 'mysql' with grant option;
flush privileges;

//4. 重启MySQL
华为OD面试手撕真题 【合并相邻且相等的元素】多语言题解 华为OD面试高频手撕真题【合并相邻且相等的元素】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。 阅读详情

相关推荐

STM32 野火MINI 用FontCvtST.exe 生成.c文件 写汉字到文本框 按钮上

STM32 野火MINI 用FontCvtST.exe 生成.c文件 写汉字到文本框 按钮上 参考了好多大神博客,自己写的过程中发现,还有些小细节。 一、打开Notepad写需要的字 另存为 UTF-16LE 也就是Unicode。 二、打开FontCvtST转 删掉所有字 读入test.txt里的字 选择刚才的test.txt 另存为.c文件 改个英文名 复制到RTOS的例程文件夹下 三、打开GUIBuilder 画一个这样的 保存之前要注意路径配置要在当前位置,否则存不上 生成的D

weixin_41376117的博客 1935

select count(*) from返回的类型_从零开始学 MySQL - SELECT 语句详解

1、内容在数据库操作语句中,使用最频繁,也被认为最重要的是 SELECT 查询语句。在之前的学习中,我们已经在不少地方用到了SELECT * FROM table_name;这条语句用于查看一张表中的所有内容。 而 SELECT 与各种限制条件关键词搭配使用,具有各种丰富的功能,这次实验就进行详细介绍。2、知识点SELECT 基本语法数学符号条件AND OR IN通配符排序SQL 内置函数和计算子...

weixin_39654619的博客 3792

PyCharm中Pyvips配置避坑指南:为什么pip安装后import还是报错?

本文详细解析了在PyCharm中配置Pyvips时,即使pip安装成功,import仍报错的根本原因。核心在于Pyvips依赖的libvips原生库未正确配置环境变量。文章提供了从下载libvips、配置Windows系统PATH到PyCharm项目级设置的完整避坑指南,并对比了三种配置策略,帮助开发者彻底解决DLL加载失败问题。

bush的博客 209

玩转Mysql系列 - 第7篇:玩转select条件查询,避免采坑

打算提升sql技能的,可以加我微信itsoku,带你成为sql高手。这是Mysql系列第7篇。环境:mysql5.7.25,cmd命令中进行演示。电商中:我们想查看某个用...

路人甲Java 1106

开关电源三大基本拓扑:反激、正激与桥式选型本质

开关电源拓扑是电力电子系统设计的核心基础概念,其本质决定能量传递路径、器件应力分布与系统物理边界。反激拓扑以耦合电感形式实现隔离与升降压,适用于小功率AC-DC场景;正激拓扑依赖实时能量传递与强制复位机制,支撑中功率高效率需求;桥式拓扑(含推挽/半桥/全桥)通过电压应力分摊与双向磁化,成为大功率系统的刚性选择。理解三者在磁芯工作模式、电流连续性、直流偏磁抑制等方面的原理差异,直接关系到效率、温升、EMI及可靠性等关键技术指标。本文聚焦反激、正激、桥式三大工程级基本拓扑的物理本质与落地约束,揭示从需求参数到电

cqwmy840702的博客 376

GEE:使用 CCDC 算法进行连续变化检测和分类

连续变化检测和分类(CCDC)算法是一种广泛应用于遥感数据分析的方法,可以用于检测土地覆盖变化、农作物生长状态的变化以及水资源的变化等。Google Earth Engine是一个强大的云端平台,提供了丰富的遥感数据和工具,可以用于执行各种类型的遥感数据分析。本文将介绍如何使用Google Earth Engine的CCDC算法进行连续变化检测和分类。

养乐多的博客 5677

select count(*) from返回的类型_网络模型之select

之前我们写了一些简单的网络程序,使用的都是基本的socket,这些程序有一个特点就是都是阻塞执行的。何谓阻塞呢?就是函数不会立即返回,直到等到结果才返回,像accept,recv就属于阻塞函数。这种方式在人数(客户端)较少的情境下没有什么问题,但要是人数比较多了服务器就不能及时处理后面的客户请求了。若第一个连接的用户受理时间为1秒,那么第一百个连接的用户就得等100秒。一个方法是可以为每个连接进来...

weixin_39545102的博客 1392

芒果YOLO11改进44:主干Backbone篇之MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

包括YOLOv5、YOLOv7、YOLOv8等模型改进 369

Select count(*) from与Select * from的区别

语句一:select count(*) from T; 作用:查询T表中数据的行数。 语句二:select * from T; 作用:查询T表中所有的数据。 区别:语句一查询结果为一个数值,就是表中数据条数;语句二查询结果是表中所有数据,就是包括字段名字,字段里面的内容的详细信息。 简单记: Select count(*) 返回的是记录的数目 Select * 返回的是记录内容 ...

qq_14901125的博客 6386

湿式双离合器自动变速器simulink建模与仿真

随着汽车工业的不断发展,自动变速器在提高汽车性能、驾驶舒适性和燃油经济性等方面发挥着越来越重要的作用。湿式双离合器自动变速器(Wet Dual-Clutch Transmission,简称 WDCT)作为一种先进的自动变速器技术,具有换挡速度快、动力传递平稳、燃油经济性好等优点,被广泛应用于各类汽车中。结构组成湿式双离合器自动变速器主要由双离合器、齿轮传动系统、液压控制系统和电子控制系统等部分组成。双离合器:由两个独立的离合器组成,分别控制奇数挡和偶数挡。通过切换两个离合器的工作状态,可以实现快速换挡。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 348

**YOLOv11性能突破:基于YOLOv10-PSA注意力机制的目标检测革命性升级**

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有!

m0_71589036的博客 195

数据库能力测试:SQL 语句改错

本练习采用 MS Sql Server 作为数据库管理系统。 测试目标: 1.熟练掌握建表的 SQL 语句 2.熟练掌握查询的 SQL 语句 3.熟练掌握增加记录、修改记录、删除记录的 SQL 语句 4.熟练掌握创建视图的 SQL 语句 这些语句都存在各种各样的问题,有些是语法错误,有些是结果不符合题目的要求。个别题目是无法实现的,请指出无法实现的原因。 数据库资源请在这里下载:https://download.youkuaiyun.com/download/weixin_43941364/12475108 导

WS的小屋 2703

几种负载均衡策略(DNS、NAT、重定向、反向代理)

摘要:本文对比了四种负载均衡技术:DNS负载均衡通过域名解析分发IP,用户直连服务器;NAT负载均衡通过VIP转发流量,所有流量经过负载均衡器;HTTP重定向通过302跳转实现分流;反向代理则隐藏后端服务器,统一转发请求。DNS简单但调度不精准,NAT精准但有带宽瓶颈,HTTP重定向延迟高,反向代理性能好但需专用设备。适用场景各异,DNS适合异地分流,NAT适合内网集群,HTTP重定向适合简单分流,反向代理适合高并发场景。核心区别在于层级(3层/7层)和流量走向(直连/中转)。

echo的博客 70

Mysql常用命令

系列文章目录 linuxMySQL常用操作 文章目录系列文章目录前言任务1 更改root密码任务2 连接MySQL任务3 MySQL常用命令任务4 MySQL创建用户以及授权任务5 MySQL常用SQL语句任务6 MySQL数据库的备份与恢复 任务1 任务2 任务3 任务4 任务5 任务6 前言 为了方便大家学习linux把MySQL在linux常用MySQL命令 任务1 更改root密码 更改环境变量 修改/etc/profile文件,文件尾添加mysql的绝对路径,修改环境变量如图所示: 创建My

ikun的博客 644

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

MySql常用命令

MySQL查看当前所在库 MySQL终端清屏

教Linux的李老师 568

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【SQL】mysql常用命令

为方便查询,特整理MySQL常用命令

加油站发光博主 2791

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

MySQL数据库常用命令

MySQL数据库常用命令。

qq_23956065的博客 1671

MySQL常用命令速查指南

希望这份MySQL常用命令指南对您有所帮助!如有任何问题或建议,欢迎留言交流。(位置:FIRST-首列,AFTER 列名-指定列后)想了解更多,可以留言私信!坚持学习,持续进步!

2501_92852035的博客 1591

MySQL 的 常用命令

MySQL常用命令分类总结:涵盖数据库操作(创建/删除/选择数据库)、表管理(创建/修改/删除表)、数据CRUD(增删改查)、索引管理、用户权限控制、事务处理、备份恢复及系统信息查询等核心功能。精选实用示例包括:创建带自增主键的用户表、条件查询订单、批量插入产品数据、事务控制及mysqldump备份等。特别标注高危操作警示(如DROP DATABASE),建议配合备份使用。该清单整合了MySQL日常管理90%的场景需求,命令均以英文分号结尾,SQL关键字推荐大写提升可读性。

csdn_tom_168的博客 376

MySql 之 常用命令汇总

文章详细介绍了常用的MySql命令,包括数据库、数据表的创建、修改和删除,数据的插入、查询和更新,用户及权限管理等。适合MySql初学者或想要了解更多MySql命令的读者阅读。

陈言必行 -- Unity游戏开发领域优质博主 7103

Windows 11 Mysql 安装及常用命令

登录 MySQLmysql -u 用户名 -p显示所有数据库创建数据库CREATE DATABASE 数据库名;删除数据库DROP DATABASE 数据库名;选择数据库USE 数据库名;显示当前数据库中的所有表创建表CREATE TABLE 表名 (列名1 数据类型 约束,列名2 数据类型 约束,...删除表DROP TABLE 表名;查看表结构DESCRIBE 表名;修改表结构添加列ALTER TABLE 表名 ADD 列名 数据类型 约束;修改列。

月亮的技术博客 1479

MYSQL常用命令

MYSQL常用命令 Mysql命令大 Mysql常用命令详解

赣州博讯科技工作室的博客 67

MySQL常用命令

日常工作中常用的MySQL命令大全

weixin_52500918的博客 1658

ubuntu下mysql的常用命令

ubuntu下mysql的常用命令

sport398的博客 301

MySQL数据库常用命令(全)

MySQL常用命令 show databases; show variables like 'default_storage_engine'; (查看默认引擎) set default_storage_engine = innodb; (修改引擎) desc tableName;(查询表结构) show create table _name\G(查看建表 语句) show tables; alter(用于修改表结构): //用于重命名 alter table oldTableName rename n

weixin_45571088的博客 404

mysql 8.0 常用命令_MySQL8.0+常用命令详解

开启远程访问通过以下命令开启root用户远程访问权限:CREATE USER 'root'@'%' IDENTIFIED BY 'password';GRANT ALL ON *.* TO 'root'@'%';ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';FLUSH PRIVILEGES;注:其...

weixin_31437361的博客 1133
上一篇: gps冷启动,温启动和热启动源码分析
下一篇: Android 使用iperf测试wifi吞吐量
秦城季
博客等级 码龄10年 46粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值