mysql之SELECT使用篇

等,SELECT是sql语言的基础,最为重要)等,
摘要由CSDN通过智能技术生成

一、sql分类

  1. DDL,数据定义语言。主要语句关键字是CREATE、DROP、ALTER等,这些语句定义了不同的数据库、表、视图、索 引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。
  2. DML,数据操作语言。主要语句关键字是INSERT、DELETE、UPDATE、SELECT等(SELECT是sql语言的基础,最为重要),用于添加、删除、更新和查询数据库记 录,并检查数据完整性。
  3. DCL,数据控制语言。主要语句关键字是GRAND、REVOKE、COMMIT、ROLLBACK、SAVEPOINT等,用于定义数据库、表、字段、用户的访问权限和 安全级别。

二、登录mysql与数据导入

在命令行登录mysql

mysql -uroot -P3006 -p

然后使用source指令导入

source d:\mysqldb.sql

三、基本SELECT语句

3.0 SELECT...

SELECT 1;#没有任何子句
SELECT 9/2;#没有任何子句

3.1 SELECT...FROM

语法:

SELECT    标识选择哪些列
FROM    标识从哪个表中选择

选择全部列:

SELECT *
FROM    department;

3.2 列的别名

SELECT last_name AS name, commission_pct comm
FROM    employees;
SELECT last-name "Name", salary*12 "Annual Salary"
FROM    employees;

3.3 去掉重复行

默认情况下,查询会返回全部行,包括重复行。

SELECT DISTINCT department_id
FROM employees;

3.4 空值参与运算

所有运算符或列值遇到null值, 运算结果都为null

SELECT employee_id,salary,commission_pct,
12 * salary * (1 + commission_pct) "annual_sal"
FROM employees;

在 MySQL 里面, 空值不等于空字符串。一个空字符串的长度是 0,而一个空值的长 度是空。而且,在 MySQL 里面,空值是占用空间的。

3.5 着重号

SELECT *FROM `ORDER` ;

我们需要保证表中的字段、表名等没有和保留字、数据库系统或常用方法冲突。如果真的相同,请在 SQL语句中使用一对``(着重号)引起来。

四、显示表结构

DESCRIBE employees:
或
DESC employees:

其中,各个字段的含义分别解释如下:

  1. Field:表示字段名称。
  2. Type:表示字段类型,这里 barcode、goodsname 是文本型的,
  3. price 是整数类型的。
  4. Null:表示该列是否可以存储NULL值。 Key:表示该列是否已编制索引。PRI表示该列是表主键的一部分;
  5. UNI表示该列是UNIQUE索引的一 部分;
  6. MUL表示在列中某个给定值允许出现多次。
  7. Default:表示该列是否有默认值,如果有,那么值是多少。
  8. Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。

五、过滤数据

语法:

SELECT 字段1,字段2
FROM 表名
WHERE 过滤条件

六、运算符

1.算术运算符

SELECT 100, 100 + 0, 100 - 0, 100 + 50, 100 + 50 -30, 100 + 35.5, 100 - 35.5
FROM dual;

在Java中,+的左右两边如果有字符串,那么表示字符串的拼接。但是在MySQL中+只表示数 值相加。如果遇到非数值类型,先尝试转成数值,如果转失败,就按0计算。(补充:MySQL 中字符串拼接要使用字符串函数CONCAT()实现)

SELECT employee_id,salary,salary * 12 annual_sal
FROM employees;

在数学运算中,0不能用作除数,在MySQL中,一个数除以0为NULL。

#筛选出employee_id是偶数的员工
SELECT * FROM employees
WHERE employee_id MOD 2 = 0;

2.比较运算符

比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回1,比较的结果 为假则返回0,其他情况则返回NULL。

安全等于运算符:<=>。为null而生。使用安全等于运算符时,两边的操作数的值都为NULL时,返回的结果为1而不是NULL,其他 返回结果与等于运算符相同。

不等于运算符:<>或!=。如果不相等则返回1,相等则返回0。不等于运算符不能判断NULL值。如果两边的值有任意一个为NULL, 或两边都为NULL,则结果为NULL。

空运算符(IS NULL或者ISNULL)判断一个值是否为NULL,如果为NULL则返回1,否则返回 0。

非空运算符(IS NOT NULL)判断一个值是否不为NULL,如果不为NULL则返回1,否则返 回0。

最小值运算符(LATEST())。最大值运算符(GREATEST())

BETWEEN AND运算符:

SELECT last_name, salary
FROM employees
WHERE salary BETWEEN 2500 AND 3500;

IN运算符。IN运算符用于判断给定的值是否是IN列表中的一个值,如果是则返回1,否则返回0。如果给 定的值为NULL,或者IN列表中存在NULL,则结果为NULL。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值