前言
这几年一直在it行业里摸爬滚打,一路走来,不少总结了一些python行业里的高频面试,看到大部分初入行的新鲜血液,还在为各样的面试题答案或收录有各种困难问题
于是乎,我自己开发了一款面试宝典,希望能帮到大家,也希望有更多的Python新人真正加入从事到这个行业里,让python火不只是停留在广告上。
微信小程序搜索:Python面试宝典
或可关注原创个人博客:https://lienze.tech
也可关注微信公众号,不定时发送各类有趣猎奇的技术文章:Python编程学习
BETWEEN语句
选取介于两个值之间的数据范围
- 语法
SELECT column1, column2....columnN
FROM table_name
WHERE column_name BETWEEN val1 AND val2;
- 示例
mysql> select * from user where age between 2 and 4;
+-------+------+
| name | age |
+-------+------+
| test2 | 2 |
| test3 | 3 |
| test4 | 4 |
+-------+------+
LIKE/REGEXP语句
在 WHERE 子句中搜索列中的指定模式,指定模式由通配符组成
通配符
通配符 | 描述 |
---|---|
% | 替代一个或多个字符,使用like |
_ | 仅替代一个字符,使用like |
[charlist] | 字符列中的任何单一字符,使用regexp/not regexp |
[^charlist]或者[!charlist] | 不在字符列中的任何单一字,使用regexp/not regexp |
- 语法
SELECT column1, column2....columnN FROM table_name
WHERE column_name LIKE { PATTERN };
- 示例
mysql> select * from user where name like 'test%';
+-------+------+
| name | age |
+-------+------+
| test1 | 1 |
| test2 | 2 |
| test3 | 3 |
| test4 | 4 |
| test4 | 5 |
+-------+------+
mysql> select * from user where name regexp 'test[23]';
+-------+------+
| name | age |
+-------+------+
| test2 | 2 |
| test3 | 3 |
+-------+------+
ORDER BY语句
根据指定的列对结果集进行排序,默认为升序;降序使用DESC
关键字
- 语法
SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
- 示例
mysql> select * from user where name like 'test%' order by age DESC;
+-------+------+
| name | age |
+-------+------+
| test4 | 5 |
| test4 | 4 |
| test3 | 3 |
| test2 | 2 |
| test1 | 1 |
+-------+------+
5 rows in set (0.00 sec)
TOP、LIMIT和POWNUM语句
SELECT TOP 子句用于规定要返回的记录的数目。
SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的
MySQL 支持 LIMIT 语句来选取指定的条数数据, Oracle 可以使用 ROWNUM 来选取。
- mysql语法
SELECT column-list
FROM table_name
LIMIT number;
- 示例
mysql> select * from user limit 2;
+-------+------+
| name | age |
+-------+------+
| test1 | 1 |
| test2 | 2 |
+-------+------+
mysql> select * from user order by age desc limit 2;
+-------+------+
| name | age |
+-------+------+
| test4 | 5 |
| test4 | 4 |
+-------+------+
INSERT语句
用于向表中插入新记录
- 语法
INSERT INTO
TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
要为表中所有的字段都添加数据,指定顺序不需要明确写出字段名即可
INSERT INTO
TABLE_NAME
VALUES (value1,value2,value3,...valueN);
- 示例
mysql> insert into user (name,age) values ('newtest',100);
Query OK, 1 row affected (0.01 sec)
mysql> select * from user;
+---------+------+
| name | age |
+---------+------+
| test1 | 1 |
| test2 | 2 |
| test3 | 3 |
| test4 | 4 |
| test4 | 5 |
| newtest | 100 |
+---------+------+
指明顺序添加,可以不需要维护id,id会自动自增被插入管理
mysql> insert into user values ('newtest1',101);
Query OK, 1 row affected (0.00 sec)
mysql> select * from user;
+----------+------+
| name | age |
+----------+------+
| test1 | 1 |
| test2 | 2 |
| test3 | 3 |
| test4 | 4 |
| test4 | 5 |
| newtest | 100 |
| newtest1 | 101 |
+----------+------+
UPDATE语句
用以更新表中匹配的某些行记录
UPDATE TABLE_NAME set column1=value1, column2=value2, ... ,columnN=columnN
WHERE CONDITION
比如更新某个表中用户的年纪为新的
update user set age=16
DELETE语句
删除匹配的行记录
DELETE FROM TABLE_NAME
WHERE CONDITION
一般都不会删除表中的一条,这可能由于一些外键约束导致无法维护表的完整性,一般只会对记录设置逻辑删除
比如删除一个账号为test
的用户
delete from user where `account`='test'