数据库8-数据库查询

第八章 数据库查询

基本的查询语句

  • SELECT语句
    • 基本语法:SELECT 字段列表 FROM 表名 WHERE 查询条件;
      • 查询多个字段列表,字段列表处需要用逗号隔开
      • where是字句,可选项,限定查询条件用
      • 例如,select f_id,f_name from test1 where f_name='xi';

单表查询

单表查询概念:从一张表中查询所有的数据

单表查询相关指令

  • 查询所有字段SELECT * FROM 表的名称;

  • 查询指定字段SELECT 字段列表(列名) FROM 表名;

  • 查询指定记录

    • 使用in和not in关键字进行范围查找:

      • SELECT 字段列表 FROM 表名 WHERE 字段列表 IN (要查的数据内容);

        例如:select s_id from test1 where s_id in (123,124);,表示在s_id内找到有123和124的数据内容

      • SELECT 字段列表 FROM 表名 WHERE 字段列表 NOT IN (不要查的数据内容) ORDER BY 字段列表;

        例如:select s_id from test1 where s_id not in (124) order by s_id;,表示在s_id内找除了124以外的数据内容

    • 使用between关键字进行范围查找:SELECT 字段列表 FROM 表名 WHERE 字段列表 BETWEEN 查找范围(小) AND 查找范围(大) ORDER BY 字段列表;

    • 使用like关键字进行模糊查询:SELECT 字段列表 FROM 表名 WHERE 字段列表 LIKE '模糊查询内容1%模糊查询内容2';

      • 加了百分号表示查询以查询内容1开头的内容

        例如,select f_name from test1 where f_name like 'm%';

      • 模糊查询结尾

        • 模糊查询内容2为可选项,表示以模糊查询内容2结尾的内容

        • 也可以“(前面字符个数的下划线)模糊搜索内容2”来查询以模糊搜索内容2结尾的内容

          例如,select f_name from test1 where f_name like '__i';

      • 参数

        • #%:匹配任意长度
        • _:匹配任意字符
  • 查询空值SELECT 列名 FROM 表名 WHERE 列名 IS NULL;

    例如:(’'表示空字符串,NULL表示空值)

    insert into test2 (id,name) values ('129',NULL);
    
    SELECT ID FROM TEST2 WHERE NAME IS NULL;
    
  • 多条件查询SELECT 字段列表 FROM 表名 WHERE 字段列表 条件1 OR 条件2;

    例如,SELECT ID FROM TEST2 WHERE NAME='1' OR NULL;

  • 查询结果排序

    • 语法格式:在查询条件最后加ORDER BY 字段列表
    • 例如:select s_id from test1 where s_id in (123,124) order by s_id;

合并查询结果并去重

  • 合并查询结果关键字:UNION

  • 例如:

    SELECT ID,NAME FROM TEST2 WHERE ID<128 UNION ALL SELECT ID,NAME FROM TEST2 WHERE ID IN (123,126) AND NAME IN (1);

    • UNION后加上ALL:不删除重复的行
    • UNION后不加ALL:删除重复的行(去重)

正则表达式查询

  • 正则表达式关键字:REGEXP
  • 一条语句中匹配的字符可以不止一个
  • 符号
符号含义
^匹配文件的开头字符
$匹配文件结尾的字符
.匹配任意单个字符
*匹配任意个字符(包括0个)
+匹配前面的字符1~n次
[字符集合]匹配范围中的任意字符
[^]匹配不在范围内的任何字符
{n}匹配前面的字符至少n次
{n,m}匹配前面的字符n~m次
匹配包含任意字符串的文本

查询特定字符开头的记录

例如:select * from test3 where name regexp '^x';,为查询name列中以x字符开头的记录

查询特定字符结尾的记录

例如:select * from test3 where name regexp 'i$';,为查询name列中以i字符结尾的记录

用点符号.替代任意字符

例如:select * from test3 where name regexp '^.';,为查询任意字符开头的记录

使用+和*匹配多个字符

例1:select * from test3 where name regexp 'e*';表示查询匹配e任意个的记录(包括0个)

例2:select * from test3 where name regexp 'e+';表示查询匹配e至少1个的记录

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mysql8安装包以及安装说明,在centeros7下的安装.解压缩后会有两个文件:mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar和mysql8安装说明.txt 1、安装 rpm -i 需要安装的包文件名 举例如下: rpm -i example.rpm 安装 example.rpm 包; rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息; rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度; 2、查看安装完成的软件 rpm -qa | grep mysql mysql-community-libs-5.7.24-1.el7.x86_64 mysql-community-common-5.7.24-1.el7.x86_64 mysql-community-client-5.7.24-1.el7.x86_64 mysql-community-server-5.7.24-1.el7.x86_64 3、卸载软件 rpm -e --nodeps 要卸载的软件包 rpm -e --nodeps mysql-community-libs-5.7.24-1.el7.x86_64 rpm -e --nodeps mysql-community-common-5.7.24-1.el7.x86_64 rpm -e --nodeps mysql-community-client-5.7.24-1.el7.x86_64 rpm -e --nodeps mysql-community-server-5.7.24-1.el7.x86_64 看看系统中有没有自带有mysql的东西,有就先删除掉。 查看: find / -name mysql 删除: rm -rf 上边查找到的路径,多个路径用空格隔开 #或者下边一条命令即可 find / -name mysql|xargs rm -rf; mkdir -p /usr/local/mysql8 cd /usr/local/mysql8 ll 将下载的资源包(mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar)上传到 usr/local/mysql8 目录下,并解压 tar -xvf mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar 依次安装 rpm -ivh mysql-community-common-8.0.15-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm 查看已安装资源 rpm -qa | grep mysql groupadd mysql useradd -g mysql mysql mysqld --initialize 初始化 chown mysql:mysql /var/lib/mysql -R 授权 systemctl start mysqld 开启mysql服务 systemctl status mysqld 查看mysql 状态 cat /var/log/mysqld.log | grep password 查看root初始密码 使用root用户登录mysql ,并修改root用户密码 mysql -u root -p #回车之后输入前面的初始密码也就是 XXXXXX(填自己的密码) ALTER USER "root"@"localhost" IDENTIFIED BY "自己的密码"; FLUSH PRIVILEGES; #立即生效 再次用户root 用户登录 输入自己刚刚修改的密码就可以了 远程连接 use mysql; update user set host = '%' where user ='root'; ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '自己的密码'; #更新用户密码 (我这里为root )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值