SQL结构化查询语言(二)

2020-01-02  本文已影响0人  GoodTekken

根据上一章节SQL结构化查询语言(一),创建数据库和数据表后,可以增加自己想要的数据:
https://www.jianshu.com/p/7aa34c91efa7

insert into my_contacts(last_name,first_name,email,gender,birthday,profession,location_1,status_1,interests,seeking) --1,insert into 往数据表中拆入数据
values('Bnderson','Jillian','jill_anderson@breakneckpizza.com','F','1980-09-05','Technical Writer','Palo Alto,CA','Singel','Kayaking,Reeptiles','Relationship,Friends1');

insert into my_contacts(last_name,first_name,email,gender,birthday,profession,location_1,status_1,interests,seeking) --1,insert into 往数据表中拆入数据
values('Cnderson','Jillian','jill_anderson@breakneckpizza.com','F','1980-09-05','Technical Writer','Palo Alto,CA','Singel','Kayaking,Reeptiles','Relationship,Friends2');

insert into my_contacts(last_name,first_name,email,gender,birthday,profession,location_1,status_1,interests,seeking) --1,insert into 往数据表中拆入数据
values('Dnderson','Jillian','jill_anderson@breakneckpizza.com','F','1980-09-05','Technical Writer','Palo Alto,CA','Singel','Kayaking,Reeptiles','Relationship,Friends3');

insert into my_contacts(last_name,first_name,email,gender,birthday,profession,location_1,status_1,interests,seeking) --1,insert into 往数据表中拆入数据
values('Enderson','Jillian','jill_anderson@breakneckpizza.com','F','1980-09-05','Technical Writer','Palo Alto,CA','Singel','Kayaking,Reeptiles','Relationship,Friends4');

 insert into my_contacts(last_name,first_name,email,gender,birthday,profession,location_1,status_1,interests,seeking) --1,insert into 往数据表中拆入数据
values('Ender''s son','Jillian','jill_anderson@breakneckpizza.com','F','1980-09-05','Technical Writer','Palo Alto,CA','Singel','Kayaking,Reeptiles','Relationship,Friends4');

select * from my_contacts; -- 查看表中的详细内容

插入数据.png

select * from my_contacts where last_name >= 'a%' and last_name < 'c%'

select * from my_contacts where last_name >= 'a%' and last_name < 'c%'

select last_name,first_name from my_contacts where last_name = 'Ender''s son';

筛选条件的关键字可以是:AND, OR, LIKE, NOT, BETWEEN, IN,IS NULL。
模糊匹配可以选择LIKE,例如:

select last_name,first_name from my_contacts where last_name LIKE '%son';

(在单引号中放入百分比符号(%),就是告诉软件,我们要在locaton列中查找所有以“son”结尾的值)
所以说,百分比(%)符号是任意数量的未知字符的替身。

第一个通配符是%,第二个通配符是下划线( _ ),它是一个未知字符的替身。

select * from my_contacts where gender is null

如果数据表中有NULL也是可以像上面这句一样,可以筛选出来。

当然,在条件筛查时,如果使用了where count >=30 AND count <=60,那么使用BETWEEN更好。BETWEEN不仅使查询的长度比较短,而且能返回一样的结果,可以改写为:WHERE count BETWEEN 30 AND 60;

另外,我们在WHERE 语句中查找OR条件时(where last_name = 'Dnderson' or last_name = 'Enderson' OR ... )除了使用这么多的OR,我们也可以简单地利用关键字IN,加上括号围起来的值的集合。只要列值匹配集合中的任何值,即可返回该行或该列。
WHERE last_name IN ('Bnderson','Cnderson','Dnderson','Enderson');

select last_name from my_contacts where not (last_name = 'Dnderson' or last_name = 'Enderson')

也可以取相反的逻辑,NOT IN,可以反转查询结果,找出值不在集合中的记录。

总结
1.SELECT * 用于选择表中的所有列,用(‘)与(\)转义,字符串中的单引号前应加上另一个单引号或反斜线来把它转换成直接量。
2.掌握 = <> < > <= >=运算符,IS NULL可以用来NULL值条件。
3.ANDOR可以在WHERE子句中结合查询条件,让查询更精确,NOT可以反转查询结果,取得相反的值。
4.BETWEEN选择一个范围内的值,LIKE搭配(%)(_)通配符搜索部分文本字符串。

上一篇 下一篇

猜你喜欢

热点阅读