mysql面试基本语句
条件查询基本运算符
演示操作的数据表
过滤条件的写法
演示:
比较运算符作用于日期类型
条件查询基本运算符
演示操作的数据表
SET FOREIGN_KEY_CHECKS=0;
– Table structure for haixin
DROP TABLE IF EXISTS haixin;
CREATE TABLE haixin (
xingming char(6) DEFAULT NULL,
xuehao char(6) DEFAULT NULL,
xingbie tinyint(1) NOT NULL,
PRIMARY KEY (xingbie)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
– Records of haixin
– Table structure for xs
DROP TABLE IF EXISTS xs;
CREATE TABLE xs (
学号 char(6) NOT NULL,
姓名 char(8) NOT NULL,
专业名 char(10) DEFAULT NULL,
性别 tinyint(1) NOT NULL DEFAULT ‘1’,
出生日期 date NOT NULL,
总学分 tinyint(1) DEFAULT NULL,
照片 blob,
备注 text,
PRIMARY KEY (学号)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
– Records of xs
INSERT INTO xs VALUES (‘000001’, ‘李大钊’, ‘计算机’, ‘1’, ‘0000-00-00’, ‘100’, null, null);
INSERT INTO xs VALUES (‘081101’, ‘王海新’, ‘计算机’, ‘1’, ‘1999-02-10’, ‘50’, null, null);
INSERT INTO xs VALUES (‘081111’, ‘蔡元培’, ‘信息工程’, ‘2’, ‘1999-02-02’, ‘11’, null, null);
INSERT INTO xs VALUES (‘109333’, ‘陈独秀’, ‘计算机’, ‘1’, ‘1999-10-08’, ‘20’, null, null);
过滤条件的写法
where 后面的表达式可以使用比较运算符:
where后操作的是行,而select后面操作的是列
基本的运算符:
>
<
>=
<=
!=
<>
其它运算符
in(值列表):
等于值列表中任意一个
值列表中可以有多个值,多个值之间用分号分割
between a and b;
值在a 和 b之间
like:
用作模糊查询
%:表示任意多个字符,可以是零个或多个
_:表示一个任意字符
逻辑运算符:
与: and
或: or
非: not
空值判断:
是空: is null
非空: is not null
演示:
查询人的学号 和姓名
select 学号,姓名 from xs ;
查询总学分高于50的 学号和姓名
select 学号,姓名 from xs where 总学分>50;
查询学号小于1000的姓名
select 姓名 from xs where 学号 < 1000;
查询姓名不等于 王海新 的人的所有信息
select * from xs where 姓名 != ‘王海新’;
比较运算符作用于日期类型
比较运算符不仅可以作用于数值类型,对日期类型也同样适用
在sql语句中,日期类型和字符串类型都需要用单引号括起来
mysql中 日期类型默认的字符串表示方法: 1999-10-08
查询在1999-10-07之后出生的员工信息
select * from xs where 出生日期 > ‘1999-10-07’;