表数据的增、删、改操作
- 使用INSERT...VALUES语句插入数据
- 修改数据
- 删除数据
使用INSERT…VALUES语句插入数据
语法:
INSERT [INTO] 数据表名[(字段名...)] VALUES ({值 | DEFAULT},...),()...;
[INTO]
数据表名:可选项,用于指定被操作的数据表。
[(字段名...)]
:可选项,当不指定该选项时,表示要向表中所有列插入数据,否则表示向数据表的指定列插入数据。
({值 | DEFAULT},...),()...
:必选项,用于指定需要插入的数据清单,其顺序必须与字段的顺序相对应,同时可以进行多条数据的插入。其中,每一列的数据可以是一个常量、变量、表达式或者NULL,但是其数据类型要与对应的字段类型相匹配;也可以直接使用DEFAULT关键字,表示为该列插入默认值,但是使用的前提是已经明确指定了默认值,否则会出错。
在向数据表中插入数据前,可使用show columns from 数据表名; 或者 desc 数据库名.数据表名;
查看数据表的结构。
可以看到我们的每一列的数据类型,此时使用INSTER…VALUES语句实现向数据表text中插入一条完整的数据。代码如下:INSERT INTO TEXT VALUES(1,"XIAOMIN","XUANXIU","2023-06-01 21:26:30");
插入结果为:
提示:
select * from text
表示查询表中的所有数据,这里知道他有这个功能就行,具体的后面会讲到。
使用INSERT…VALUES语句实现指定列的插入,代码如下:INSERT INTO TEXT (NA,COURSE) VALUES ("ZHANG","WULI");
插入结果为:
使用INSERT…VALUES语句插入多条数据,代码如下:INSERT INTO TEXT (NA,COURSE,CREATETIME) VALUES("XIAOMIN1","XUANXIU1","2023-06-01 21:27:30"),("XIAOMIN2","XUANXIU2","2023-06-01 21:28:30");
插入结果为:
扩展:
可以使用INSERT INTO 数据表名 SET 字段名={值 | DEFAULT},...
或者INSERT INTO 数据表名 [{字段名,...}] SELECT ...
>>>SELECT为查询语句。
修改数据
语法:
UPDATE 数据表名 SET 字段1 = 值1[,字段2 = 值2...] [WHERE 条件表达式] [ORDER BY...] [LIMIT 行数];
字段1 = 值1[,字段2 = 值2...]
:必选项,用于指定要修改的字段名及其字段值。其中的值可以是表达式,也可以是该字段所对应的默认值。如果要指定默认值,可使用关键字DEFAULT。
[WHERE 条件表达式]
:可选项,用于限定表中要修改的行,如果不指定该子句,那么UPDATE语句更新表中的所有行。
[ORDER BY...]
:可选项,用于限定表中的行被修改的次序。
[LIMIT 行数]
:可选项,用于限定被修改的行数。
代码如下:
UPDATE STUDENT.TEXT SET NA="XIAOMIN3" WHERE ID="3";
改变结果如下:
提示:更新时一定要保证WHERE子句的正确性,一旦WHERE子句出错,将会破坏所有改变的数据。如果表中的设置了默认值,则进行插入或者更新时可将值写成
DEFAULT
,此时表中的值会显示默认值。
删除数据
语法:DELETE FROM 数据表名 [WHERE 条件表达式] [ORDER BY...] [LIMIT 行数];
[WHERE 条件表达式]
:可选项,用于限定表中要删除的行,如果不指定该子句,那么DELETE语句删除表中的所有行。
[ORDER BY...]
:可选项,用于限定表中的行被删除的次序。
[LIMIT 行数]
:可选项,用于限定被删除的行数。
代码如下:
DELET FROM TEXT WHERE ID = "2";
删除结果为下:
提示:执行删除的条件一般应该为数据的ID,而不是具体某个字段值,这样可以避免一些错误的发生。
扩展:
使用TRUNCATE [TABLE] 数据表名;
进行数据表的删除,这里的删除会删除数据表中的所有数据,并且无法恢复,使用时需要特别的小心。
代码如下:TRUNCATE TABLE TEXT;
执行结果如下:
此时数据表中的数据全部被删除,但是表的结构并没被删除。