表数据的增、删、改操作

  • 使用INSERT...VALUES语句插入数据
  • 修改数据
  • 删除数据


使用INSERT…VALUES语句插入数据

语法:

INSERT [INTO] 数据表名[(字段名...)] VALUES ({值 | DEFAULT},...),()...;

[INTO] 数据表名:可选项,用于指定被操作的数据表。

[(字段名...)]:可选项,当不指定该选项时,表示要向表中所有列插入数据,否则表示向数据表的指定列插入数据。

({值 | DEFAULT},...),()...:必选项,用于指定需要插入的数据清单,其顺序必须与字段的顺序相对应,同时可以进行多条数据的插入。其中,每一列的数据可以是一个常量、变量、表达式或者NULL,但是其数据类型要与对应的字段类型相匹配;也可以直接使用DEFAULT关键字,表示为该列插入默认值,但是使用的前提是已经明确指定了默认值,否则会出错。

在向数据表中插入数据前,可使用show columns from 数据表名; 或者 desc 数据库名.数据表名;查看数据表的结构。

mysql 的values后面接对象数组 mysql values用法_mysql

可以看到我们的每一列的数据类型,此时使用INSTER…VALUES语句实现向数据表text中插入一条完整的数据。代码如下:INSERT INTO TEXT VALUES(1,"XIAOMIN","XUANXIU","2023-06-01 21:26:30");

插入结果为:

mysql 的values后面接对象数组 mysql values用法_数据_02

提示select * from text表示查询表中的所有数据,这里知道他有这个功能就行,具体的后面会讲到。

使用INSERT…VALUES语句实现指定列的插入,代码如下:INSERT INTO TEXT (NA,COURSE) VALUES ("ZHANG","WULI");

插入结果为:

mysql 的values后面接对象数组 mysql values用法_数据_03

使用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");

插入结果为:

mysql 的values后面接对象数组 mysql values用法_数据库_04

扩展:

可以使用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";

改变结果如下:

mysql 的values后面接对象数组 mysql values用法_字段_05

提示:更新时一定要保证WHERE子句的正确性,一旦WHERE子句出错,将会破坏所有改变的数据。如果表中的设置了默认值,则进行插入或者更新时可将值写成DEFAULT,此时表中的值会显示默认值。

删除数据

语法:DELETE FROM 数据表名 [WHERE 条件表达式] [ORDER BY...] [LIMIT 行数];

[WHERE 条件表达式]:可选项,用于限定表中要删除的行,如果不指定该子句,那么DELETE语句删除表中的所有行。

[ORDER BY...]:可选项,用于限定表中的行被删除的次序。

[LIMIT 行数]:可选项,用于限定被删除的行数。

代码如下:

DELET FROM TEXT WHERE ID = "2";

删除结果为下:

mysql 的values后面接对象数组 mysql values用法_学习_06

提示:执行删除的条件一般应该为数据的ID,而不是具体某个字段值,这样可以避免一些错误的发生。

扩展:

使用TRUNCATE [TABLE] 数据表名;进行数据表的删除,这里的删除会删除数据表中的所有数据,并且无法恢复,使用时需要特别的小心。

代码如下:TRUNCATE TABLE TEXT;

执行结果如下:

mysql 的values后面接对象数组 mysql values用法_字段_07

此时数据表中的数据全部被删除,但是表的结构并没被删除。