MysqlOcp------select(查询语句)


select基本查询

SELECT语句返回的结果叫做结果集(RESULTSET)。它是一个表格

语句:

SELECT *|{[DISTINCT] column [alias],...} FROM table;

参数含义:

SELECT标识要显示的列。

FROM标识包含这些列的表。

术语:

语句(statement):一条语句由多个子句构成
子句(clause):子句是一条语句的组成部分


SQL语句的语法表示规则:

大写字母表示关键字(保留字)

{}大括号表示里面的内容必须写一个

[]中括号表示里面的内容是可选的

| 表示二选一

, …表示前面的内容可重复若干个

小写字母表示此处应该使用实际的名称


SQL语句编写注意事项

SQL语句不区分大小写。

可以在一行或多行上输入SQL语句。

关键字不能缩写或跨行分割。

子句通常放在单独的行上。

缩进用于增强可读性。

每条语句以分号结束


空值

空值是不可用,未分配,未知或不适用的值。

空不等于零或空格。


列别名:

重命名列标题

对计算有用

紧随列名之后(列名和别名之间也可以有可选的AS关键字)

如果包含空格或特殊字符,或者区分大小写,则需要双引号


连接符操作 || :

SELECT t.department_name ||'is a '|| t.department_id FROM hr.departments t where 

t.department_id='10';

输出结果:

Administration is a 10

将列或字符串链接到其他列

用两个竖线(||)表示

创建作为字符表达式的结果列

SET@@sql_mode=‘STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT’;

注:SELECT ‘abc’||‘def’; --默认||是or操作


查看表结构

使用DESCRIBE命令显示表的结构。

     DESC         表名

在这里插入图片描述

用MySQL数据库desc 表名时,我们看到Key那一栏,可能会有4种值,即 ’ ',‘PRI’,‘UNI’,‘MUL’。

1、如果Key是空的,那么该列值的可以重复,表示该列没有索引,或者是一个非唯一的复合索引的非前导列;

2、如果Key是PRI,那么该列是主键的组成部分;

3、如果Key是UNI,那么该列是一个唯一值索引的第一列(前导列),并别不能含有空值(NULL);

4、如果Key是MUL,那么该列的值可以重复,该列是一个非唯一索引的前导列(第一列)或者是一个唯一性索引的组成部分但是可以含有空值NULL。


基本字符匹配(regexp)

regexp与like类似,都来用于匹配字符,但是比like具有更强大的功能

regexp匹配字符串中是否含有某些文本

语句:

匹配内容:

SELECT * FROM hr.employees e where  e.first_name REGEXP 'D'

语句:
匹配内容:

select * from hr.employees e where e.employee_id regexp '163';

like和regexp的区别

regexp的查询比like更精准更加灵活


Guess you like

Origin blog.csdn.net/m0_67929156/article/details/131565046