简述: 本篇是数据库的学习笔记,仅供自己学习使用。
本文初发于 “曾晨de小站” zengchen233.cn,同步转载于此。
数据库和表的基本操作(二)
为表的所有字段插入数据
向表中插入数据最简单的方法就是使用INSERT
语句。INSERT
语句需要你声明要插入内容的表(table)
名和内容(values)
。
语法规则为:
INSERT INTO 表名 (字段名) VALUES (内容);
分析:
在插入数据时,我们指定了所有的字段名,这样的好处是:即使我们打乱了原本字段的排列顺序,只要插入的数据与之匹配,插入都不会出错。其实,还有一种偷懒的办法,就是我们可以不填字段名,但是这样的话,就必须老老实实的按字段顺序来填入相应的数据。
为表的指定字段插入数据
有的时候,我们并不想往某个字段内插入完完整整的值,或者说,有的时候我们并没有完整的数据可以整整齐齐插入某个字段。这时候就需要我们只为指定好的字段插入数据了,其他的我们都不用管。换句话说,就是: 为表的指定字段插入数据,就是在INSERT
中只向部分插入值,而其他字段的值为表定义时的默认值。
如果我们建表时给字段设置的默认值为
Null
,所以插入数据时忽略该字段,就会默认给它赋值为空。
为表同时插入多条记录
当然,一条一条插入数据很繁琐,有没有“打包”的方法呀?有,还有一种方法能同时让我们插入好几条数据。
语法规则为:
INSERT INTO 表名 (字段名) VALUES (内容1), (内容2), (内容3);
更新表中指定的内容
通过上一关的学习,我们已经掌握了INSERT
操作!同样,UPDATE
操作也很简单,只要记住UPDATE
语句三要素就能轻松掌握,它们分别是:
- 需要更新的
表(table)名
; - 需要更新的
字段(column)名
和它的新内容(value)
; - 决定更新
哪一条内容(value)
的过滤条件
。
语法规则为:
UPDATE 表名 SET 字段名1 = 内容1, 字段名2 = 内容2, 字段名3 = 内容3 WHERE 过滤条件;
删除表中的指定行
从数据表中删除数据内容需要使用DELETE
语句,它需要WHERE
语句来配合它来指定我们究竟应该删除哪些数据内容。
语法规则为:
DELETE FROM 表名 WHERE 条件语句;
删除表中的所有行
删除表中的所有行就更简单了。如果需要删除表中所有的行,只需要省略WHERE
语句即可。
语法规则为:
DELETE FROM 表名;
小提示: TRUNCATE TABLE 语句也可以用来删除表中的所有记录。但是与 DELETE 不同的是,TRUNCATE TABLE 语句直接删除的是表,而不是表中的内容,删除结束后还会重新创建一个表。所以它的执行速度会比 DELETE 语句快。 语法为:
TRUNCATE TABLE 表名;
查询数据表中指定字段的内容
MySQL
从数据表中查询数据的基本语句为SELECT
语句。
SELECT
语句的可选参数比较多,让我们先从最简单的开始,带大家一步一步的深入SELECT
语句的使用。
SELECT 基本语法规则为:
SELECT 字段名 FROM 表名;
分析:
我们查询数据的时候,往往需要同时查询多个字段
下的内容。这时,我们只需要在字段之间
加入逗号,
即可。
语法规则为:
SELECT 字段名1, 字段名2 FROM 表名;
小提示: MySQL 中的 SQL 语句对关键字的大小写不敏感, SELECT 和 select 是一样的。 但是许多开发者更喜欢将关键字大写,表名和字段名使用小写,养成这种习惯,以后写出来的脚本就更容易阅读和维护了。
查询数据表中的所有内容
如果我们不记得字段名字了,我们还可以查看整张表的内容。这时候,只需要我们用星号*
来代替字段的名字,就会得到一整张表的内容。
语法规则为:
SELECT * FROM 表名;
小提示: 虽然使用星号 * 看起来是一件很方便的事情,但是建议大家在不想获取整张表的情况下,还是使用字段名来进行查询。因为很显然,它会降低查询的效率。
带IN
关键字的查询
IN
关键字被用在WHERE
语句的后边,用来过滤你所需要查询的内容。更形象的说,IN
关键字的使用情形就像点名,点到谁谁就要站出来。
语法规则为:
SELECT 字段名 FROM 表名 WHERE 字段名 IN (n1,n2,n3,...);
其中,括号内的数字必须为INT
格式的数字。被“点到名”的这些括号里数字对应的内容,都要乖乖的站到前边来展示给大家看。
带NOT IN
关键字的查询
聪明的小伙伴一看NOT
就知道了,我们是要取反了。刚才我们是在查询括号中出现的内容,加了NOT
取反后,就意味着,我们要查询的是除了括号中出现内容外的所有内容。
语法规则为:
SELECT 字段名 FROM 表名 WHERE 字段名 NOT IN (n1,n2,n3,...);
带BETWEEN AND
关键字的查询
我们已经学会了如何用IN
关键字精确查询数据表中的内容,但是在很多时候,我们仅仅是想知道在某一范围内有多少符合条件的数据,这就不得不使用到关键字BETWEEN AND
了。
BETWEEN AND
需要两个参数支持,一个是范围的开始值,另一个就是结束值了。如果字段值满足指定的范围查询条件,就返回这些满足条件的数据内容。
语法规则为:
SELECT 字段名 FROM 表名 WHERE 字段名 BETWEEN n1 AND n2;
带NOT BETWEEN AND
关键字的查询
像上一关介绍的关键字IN
一样,我们还可以对关键字BETWEEN AND
进行取反,表示查询指定范围之外的值。
语法规则为:
SELECT 字段名 FROM 表名 WHERE 字段名 NOT BETWEEN n1 AND n2;