8.7 MySQL

⼀、MySQL 函数

数据分析的基础

1. 排序
 (1) max
 (2) min 
2。汇总
 (1) count
 (2) sum
 (3) avg
3. 数制
 (1) ⼆进制
1、聚合函数

只有 select ⼦句和 having ⼦句、order by ⼦句中能使⽤聚合函数,where ⼦句不能使⽤聚合函数。当使⽤聚合查询以后,不能使⽤where条件,如果要添加条件,就使⽤having

mysql> create table 学⽣表(序号 int,姓名 char(16),年

龄 int,班级 int);

Query OK, 0 rows affected (0.01 sec)

1.新建⼀个学⽣表,表头有:序号,数字形式;姓名,⽂本字符串形式;年龄,数字形式;班级,数字形式。

例如:select * from class where cid=(select classid from student where sname='张三');
mysql> create table class(cid int(4) not null primary key, cname varchar(20));
mysql> create table student (sid int(4) not nullprimary key, sname varchar (20), sage int (2),classid int (4) not null);
mysql> select * from class where cid=(select classid from student where sname='张三');
mysql> select * from class where cid>(select classid from student where sname='张三');
exists 关键字的⼦查询


MySQL ⼦语句查询

⼦查询是指⼀个查询语句嵌套在另⼀个查询语句内部的查询;

该查询语句可以嵌套在⼀个 SELECT、SELECT...INTO、INSERT...INTO 等语句中。

在执⾏查询时,⾸先会执⾏⼦查询中的语句,再将返回的结果作为外层查询的过滤条件。

在⼦查询中通常可以使⽤⽐较运算符和 IN、EXISTS、ANY、ALL 等关键字。

例如:

select * from class where cid=(select classid from student where sname='张三');
mysql> create table class(cid int(4) not null primary key, cname varchar(20)); 
mysql> create table student (sid int(4) not nullprimary key, sname varchar (20), sage int (2),classid int (4) not null); 
mysql> select * from class where cid=(select classid from student where sname='张三');
mysql> select * from class where cid>(select classid from student where sname='张三');
exists 关键字的⼦查询
mysql> select * from class where cid=(select
classid from student where sname='张三');
+------+-------+
| cid | cname |
+------+-------+
| 1001 | Java |
+------+-------+
1 row in set (0.00 sec)


 
#查询张三同学所在班级的信息

mysql> select * from class where cid>(select
classid from student where sname='张三'); 
+------+---------+ 
| cid | cname |
+------+---------+ 
| 1002 | C++ |
| 1003 | Python |
| 1004 | PHP |
| 1005 | Android |
+------+---------+
4 rows in set (0.03 sec)


 
# 查询⽐张三同学所在班级编号还⼤的班级的信息

MySQL 多表联合查询

交叉连接查询
交叉连接返回的结果是被连接的两个表中所有数据⾏的笛卡尔积;

mysql> select * from student cross join class;
mysql> select sname,cname from student inner join class on student.classid=class.cid;
MySQL 授权
mysql> grant all on *.* to haha@'192.168.100.%' identified by '123456'; # 为haha⽤户进⾏授权
mysql> show grants for haha@'192.168.100.%'; # 查看haha的权限
mysql> drop user haha@'192.168.100.%'; # 删除⽤户

MySQL 触发器
1、概念

触发器是⼀种特殊的存储过程,它在插⼊,删除或修改特定表中的数据时触发执⾏,它⽐数据库本身标准的功能有更精细和更复杂的数据控制能⼒

1. 例如在某⼀个时间触发什么事情

2. 例如不允许股票价格的升幅⼀次超过%10

3. 审计功能,某⼀个⼈登录会记录所有的操作

#查看数据库内的所有表

mysql> show tables;

mysql> create trigger deltable after delete on class for each row delete from student;

#查看触发器

mysql> show triggers\G;

#查看当前数据库下的所有数据表

mysql> show tables;

#删除class表中cid为1005的整⾏数据,也就是执⾏之前设置的触发动作

mysql> delete from class where cid=1005;

#因为触发器执⾏,所以student表的内容在class表的删除动作后被清空

mysql> select * from student;

#删除触发器

mysql> drop trigger deltable;

MySQL 基本优化操作

[root@localhost ~]# vim /etc/my.cnf
[mysqld] 
skip-name-resolve     #添加该⾏,表示本机跳过MySQL密码验证 
skip-grant-tables     #添加该⾏,表示登录时,忽略所有的⽤户认证信息,包括⽤户名、密码和权限。
[root@localhost ~]# systemctl restart mysqld.service 
[root@localhost ~]# mysql     #免密时,直接使⽤MySQL命令登录
mysql> use yh;      #查看存储引擎时,必须要切换到某个数据库 
mysql> show table status where name='class' \G;      #也可查看单个数据表的存储引擎 
mysql> create table haha(id int) engine=MyISAM;      #创建表haha,并添加数字形式的表头id,指定haha表的存储引擎为MyISAM 
mysql> show table status where name='haha' \G;      #查看haha表的存储引擎及其他状态信息
mysql> alter table haha engine=InnoDB;     #修改已存在的数据表haha的存储引擎 
[root@localhost ~]# vim /etc/my.cnf
[mysqld]
default-storage-engine=InnoDB       #添加此⾏,当以后再创建表时,存储引擎将改为InnoDB

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Red Hat是一家全球领先的开源软件及服务提供商,它的名字来源于一位印第安人的传说。Red Hat Linux被广泛应用于企业级服务器操作系统和应用程序,它被广泛认为是各种Linux系统中最稳定和可靠的操作系统之一。Red Hat Linux 8.7是Red Hat公司推出的一款操作系统,它是Red Hat Linux 8的升级版本。Red Hat Linux 8.7顶部采用了最新的Linux内核,并增加了新的驱动程序和应用程序,提供了更优秀的性能和功能。此外,它还包含了一些组件和工具,如Apache Web服务器、MySQL数据库、PHP编程语言、Perl编程语言、Python编程语言、OpenSSL安全模块等等,以便用户更轻松地搭建和配置Web服务器。Red Hat Linux 8.7也具备可扩展性,可以很方便地满足不同的业务需求。用户可以从Red Hat公司官网上下载Red Hat Linux 8.7,安装包的大小约为1.6GB,使用前需仔细阅读官方文档中的说明。 ### 回答2: 要下载Red Hat 8.7操作系统,您可以遵循以下步骤: 1. 首先,打开您的网络浏览器,然后在搜索引擎中输入“Red Hat 8.7下载”。在搜索结果中,您可以找到Red Hat官方网站的链接。 2. 点击官方网站链接,然后导航到下载页面。在下载页面上,您可能需要创建一个免费的Red Hat账户,以便能够访问下载链接。 3. 在创建账户后,您可能需要提供一些信息,例如您的姓名、电子邮件地址和国家/地区等信息。填写完信息后,点击提交按钮。 4. 之后,您将被引导到选择下载产品的页面。在这里,您应该选择Red Hat Enterprise Linux(RHEL)版本8.7。 5. 选择了RHEL 8.7后,您将看到针对不同系统架构的下载选项,例如x86或IBM Power。选择与您计算机系统架构相匹配的选项。 6. 选择了合适的系统架构后,您将看到一个下载链接。点击该链接,下载Red Hat 8.7的安装映像文件(ISO)。 7. 下载完成后,您可以使用适当的软件(例如Etcher、Rufus等)将ISO文件烧录到一个空白的DVD或制作启动盘。 8. 最后,您可以使用刚刚制作的启动盘或DVD来引导并安装Red Hat 8.7操作系统。 请注意,Red Hat Enterprise Linux是一款商业操作系统,需要购买或订阅才能获取官方支持和更新。 ### 回答3: Red Hat 8.7是最新的Red Hat Enterprise Linux(RHEL)操作系统的版本之一。要下载Red Hat 8.7,您可以按照以下步骤进行操作: 1. 首先,您需要打开Red Hat官方网站。您可以使用任何现代网络浏览器打开官方网站。 2. 在Red Hat官网主页上,找到一个名为"Downloads"或类似的选项。通常,您可以在网页的顶部或页面的底部找到此选项。 3. 单击"Downloads"选项,然后您将被重定向到一个新的页面,显示Red Hat产品的下载页面。 4. 在下载页面上,您可以找到Red Hat Enterprise Linux的不同版本。找到Red Hat 8.7的版本,然后单击它。 5. 在单击Red Hat 8.7后,您将被要求登录或创建Red Hat帐户。如果您还没有帐户,您需要提供必要的信息创建一个。 6. 登录/创建帐户后,您将获得对Red Hat 8.7下载的访问权限。该网页将向您显示可用的下载选项。 7. 选择适合您需求的下载选项。通常,可供选择的选项可能包括ISO镜像文件、网络安装文件等。 8. 单击所选选项旁边的“Download”按钮。下载将开始,并将文件保存到您选择的位置。 9. 下载过程可能需要一些时间,具体取决于您的互联网连接速度。 10. 下载完成后,您可以在相应的文件夹中找到下载的Red Hat 8.7安装文件。 请确保从Red Hat官方网站下载Red Hat 8.7或任何其他软件以确保文件的完整性和安全性。建议在安装之前检查下载文件的MD5/SHA哈希值,以确保文件未被篡改。 希望这些步骤可以帮助您顺利下载Red Hat 8.7,以便您在自己的计算机上进行使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值