mysql-学习笔记

表的连接方式

表的连接方式 包括:

  • 内连接:

    等价连接

    非等价连接

    自连接

  • 外连接:

    左外连接(左连接)

    右外连接(右连接)

  • 全连接:

(很少用)

模糊查询

In

含义:

判断某字段的值是否属于in列表的某一项

特点:

①、使用in提高语句简洁度

②、in列表的值类型必须一致或兼容

示例:

mysql> select ename, job from emp where job in(‘SALESMAN’,‘MANAGER’);

分组查询

查询列表必须特殊,要求是分组函数和group by后出现的字段

特点:

1、分组查询中的筛选条件分为两类

数据源位置关键字
分组前筛选原始表Group by子句的前面Where
分组后帅选分组后的结果集Group by子句的后面having

①分组函数左条件肯定是放在having子句中

②能用分组前筛选的,就优先考虑使用分组前筛选

例:

查询领导编号>102的每个领导手下的最低工资>5000的领导编号是哪个,以及其最低工资

①查询每个领导手下的员工固定最低工资

Select MIN(salary), manager_id

From employees

Group by manager_id;

②添加筛选条件:标号>102

Select MIN(salary),manager_id

From employees

Where manager_id>102

Group by manager_id;

③添加筛选条件:最低工资>5000

Select MIN(salary),employees_id

From employees

Where manager_id>102

Group by manager_id

Having MIN(salary)>5000;

子查询

  • 含义:

    出现在其他语句中的select语句,称为子查询或内查询

    外部的查询语句,称为主查询或外查询

  • 分类:

    • 按子查询出现的位置:

    • select后面:

      仅仅支持标量子查询

    • from后面:

      支持表子查询

    • where或having后面:

      标量子查询

      列子查询

      行子查询

    • exists后面(相关子查询)

      表子查询

  • 按结果集的行列数不同:

    按量子查询(结果集只有一行一列)

    列子查询(结果集只有一列多行)

    行子查询(结果集有一行多列)

    表子查询(结果集一般为多行多列)

linux下MySQL数据库安装初始化

linux下MySQL数据库安装初始化
1、cd /usr/local/ ##进入local目录

2、cp /home/soft/MySQL-5.7.15-Linux-glibc2.5-x86_64.tar.gz /usr/local/

##拷贝mysql压缩到local目录

3、cd /usr/local/ ##进入local目录

4、tar -xzvf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz

##解压mysql压缩包

5、mv mysql-5.7.15-linux-glibc2.5-x86_64 mysql ##重命名mysql目录

6、groupadd mysql ##添加一个mysql组

7、useradd -r -g mysql mysql ##添加一个用户

8、##把mysql目录添加到mysql用户和mysql组,并给执行权限

chown -R mysql:mysql mysql/

chmod -R 755 mysql/

9、mkdir /home/mysql/data ##创建mysql-data目录

10、chown -R mysql:mysql /home/mysql/data ##把mysql-data目录授权给mysql组中的mysql用户

11、chgrp -R mysql /home/mysql/data ##chgrp命令可采用群组名称或群组识别码的方式改变文件或目录的所属群组。(-R:处理指定目录以及其子目录下的所有文件)使用权限是超级用户。

12、cd /usr/local/mysql ##进入mysql目录

13、cp support-files/my-default.cnf ./my.cnf ##拷贝support-files目录下的my-default.cnf文件到当前目录的my.cnf文件

14、vi /usr/local/mysql/my.cnf ##编辑my.cnf文件

basedir = /usr/local/mysql
##basedir 为mysql 的路径
datadir = /home/mysql/data
##datadir 为mysql的 data 包,里面存放着mysql自己的包
port = 3306 ##mysql端口
#server-id = 100
##服务器ID

socket = /tmp/mysql.sock

15、cp -fr my.cnf /etc/my.cnf ##拷贝my.cnf文件到etc目录下(若etc目录下有则替换)

16、vi /etc/profile ##编辑etc目录下的profile文件

export PATH=/usr/local/mysql/bin:$PATH
##在profile文件最后添加

17、source /etc/profile ##重新加载etc目录下的profile文件

18、cp -a ./support-files/mysql.server /etc/init.d/mysqld

##拷贝
19、./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/mysql/data
##初始化

重要:

此处需要注意记录生成的临时密码,如上文:GleB(RP14p<D
注:

如执行后报错内容为 ./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file:
No such file or directory

CentOS7.2需要安装libaio,执行以下命令进行安装

[root@localhost mysql]# yum install libaio

安装完成后重新执行初始化命令

20、[[[password]]]] ##注意记录生成的临时密码,如:GleB(RP14p<D
21、/etc/init.d/mysql start ##启动mysql

22、/etc/init.d/mysqld status ##查看mysql状态

23、bin/mysql -u root –p ##登录mysql

24、输入临时密码 ##mysql生成的临时密码,如:jgghKqQhZ8*e

25、set password=password(‘A123456’); ##修改密码

26、grant all privileges on . to root@’%’ identified by ‘A123456’;

27、flush privileges; ##

28、use mysql; ##

29、select host,user from user; ##

30、远程链接数据库,或者重启。

初次安装时随机生成的密码

[root@localhost bin]# /usr/local/mysql/bin/mysqld --initialize  --user=mysql
2021-10-07T13:00:53.635431Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-10-07T13:00:53.875291Z 0 [Warning] InnoDB: New log files created, LSN=45790
2021-10-07T13:00:53.909846Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2021-10-07T13:00:53.968079Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 9adca78d-276e-11ec-b73a-000c29b44e76.
2021-10-07T13:00:53.968851Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2021-10-07T13:00:54.807659Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2021-10-07T13:00:54.807674Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2021-10-07T13:00:54.808279Z 0 [Warning] CA certificate ca.pem is self signed.
2021-10-07T13:00:54.922427Z 1 [Note] A temporary password is generated for root@localhost: Rl)N?D#bG7/H
Rl)N?D#bG7/H
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值