MySQL例题一 综合案例(多条件组合查询)

MySQL例题一 综合案例

多条件组合查询练习

  1. 易错知识点

/* NULL和空值
-NULL也就是在字段中存储NULL值,空值也就是字段中存储空字符(’’)。

select length(NULL), length(''), length('1'),length('2');

+--------------+------------+-------------+-------------+
| length(NULL) | length('') | length('1') | length('2') |
+--------------+------------+-------------+-------------+
| NULL         |          0 |           1 |           1 |
+--------------+------------+-------------+-------------+
1 row in set

从上面看空值(’’)的长度是0,是不占用空间的;而NULL长度是NULL,其实它是占用空间的。
NULL列需要行中的额外空间来记录它们的值是否为NULL。

总结
1、空值不占空间,NULL值占空间。当字段不为NULL时,也可以插入空值。

2、当使用 IS NOT NULL 或者 IS NULL 时,只能查出字段中没有不为NULL的或者为 NULL 的,不能查出空值。

3、判断NULL 用IS NULL 或者 is not null,SQL 语句函数中可以使用IFNULL()函数来进行处理,判断空字符用 =’‘或者<>’'来进行处理。

4、在进行count()统计某列的记录数的时候,如果采用的NULL值,会别系统自动忽略掉,但是空值是会进行统计到其中的。

5、MySql中如果某一列中含有NULL,那么包含该列的索引就无效了。这一句不是很准确。

6:实际到底是使用NULL值还是空值(’’),根据实际业务来进行区分。个人建议在实际开发中如果没有特殊的业务场景,可以直接使用空值。

参考

NULL和空值 https://blog.csdn.net/u010648555/article/details/94555199
MySQL (37k) 关键字
https://blog.csdn.net/weixin_45851945/article/details/114287877

*/

/*创建外键格式
CONSTRAINT fk_dept_personnel foreign key (d_id) references personnel(id)
CONSTRAINT 别名 foreign key (外键表值) references 主表(主表值)
*/
– COMMENT 创表时设置备注
– auto_increment 设置自增(整型)
– default 设置默认值
– IF EXISTS 判断是否存在(如果存在)

  1. 创建数据库基本操作语句

– 创建练习题数据库 字符集为utf8

create DATABASE Exercises_One CHARSET=utf8;

– 切换到Exercises_One下

use Exercises_One;

创建表之前先删除同名表(结构和数据)一般情况下同数据库下不能出现重名表

DROP TABLE IF EXISTS personnel;
create table personnel (
	id int(11) 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值