mysql怎么设置字段的值(mysql如何添加字段)

技术mysql如何增加字段的值本篇内容介绍了“mysql如何增加字段的值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

本文介绍了“mysql如何增加字段的价值”的知识。很多人在实际案例的操作中会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

在mysql中,可以使用INSERT语句来增加字段的值。语法为“插入表名字段名称值;”或者“INSERT INTO表名SET字段名1=值1,字段名2=值2,…”。

本教程的操作环境:windows7系统,mysql8版本,戴尔G3电脑。

在mysql中,可以使用INSERT语句来增加字段的值。

INSERT语句可以将一行或多行元组数据插入到数据库的现有表中。

INSERT语句有两种语法形式,即INSERT…VALUES语句和INSERT…SET语句。

1) INSERT…VALUES语句

INSERTVALUES的语法格式为:

INSERTINTO表名[字段名1[,…字段名n]]

VALUES(值1)[……,(值n)];语法解释如下。

表名:指定正在操作的表的名称。

字段名:指定需要插入数据的字段名。如果将数据插入到表中的所有字段中,则可以省略所有字段名称,并且可以直接使用insert表名称VALUES(…)。

VALUES或VALUE子句:该子句包含要插入的数据列表。列表中数据的顺序应该对应于列的顺序。

2) INSERT…SET语句

语法格式为:

INSERTINTO表名

设置字段名1=值1,

字段名2=值2,

……此语句用于直接为表中的某些列指定对应的列值,即在SET子句中指定要插入的数据的列名,col_name为指定的列名,等号后面跟指定的数据,而对于未指定的列,则指定列值为列的默认值。

从INSERT语句的两种形式可以看出:

使用INSERT…VALUES语句将一行数据或多行数据插入表中;

使用INSERT…SET语句指定插入行或某些列中每一列的值;

INSERT…SELECT语句将其他表中的数据插入表中。

使用INSERT…SET语句将一些列的值插入到表中,这样更灵活。

INSERT…VALUES语句可以一次插入多条数据。

在MySQL中,用一条insert语句处理多个INSERT比使用多条INSERT语句要快。

当单个INSERT语句用于插入多行数据时,只需将每行数据括在括号中。

向表中的全部字段添加值

将值插入表中所有字段的方法有两种:一种是指定所有字段名称;另一种是根本不指定字段名。

【实例 1】在tb_courses表中插入了一个新记录,课程id值为1,课程名称值为“网络”,课程等级值为3,信息值为“计算机网络”。

在执行插入操作之前,检查tb_courses表的SQL语句,执行结果如下。

mysqlSELECT * FROMtb _ courses

empty set(0.00秒)查询结果显示当前表内容为空,没有数据。接下来,执行插入数据的操作。输入的SQL语句和执行过程如下。

mysqlnbsp

;INSERT INTO tb_courses
    -> (course_id,course_name,course_grade,course_info)
    -> VALUES(1,'Network',3,'Computer Network');
Query OK, 1 rows affected (0.08 sec)

mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
+-----------+-------------+--------------+------------------+
1 row in set (0.00 sec)

可以看到插入记录成功。在插入数据时,指定了 tb_courses 表的所有字段,因此将为每一个字段插入新的值。

INSERT 语句后面的列名称顺序可以不是 tb_courses 表定义时的顺序,即插入数据时,不需要按照表定义的顺序插入,只要保证值的顺序与列字段的顺序相同就可以。

【实例 2】在 tb_courses 表中插入一条新记录,course_id 值为 2,course_name 值为“Database”,course_grade 值为 3,info值为“MySQL”。输入的 SQL 语句和执行结果如下所示。

mysql> INSERT INTO tb_courses
    -> (course_name,course_info,course_id,course_grade)
    -> VALUES('Database','MySQL',2,3);
Query OK, 1 rows affected (0.08 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
|         2 | Database    |            3 | MySQL            |
+-----------+-------------+--------------+------------------+
2 rows in set (0.00 sec)

使用 INSERT 插入数据时,允许列名称列表 column_list 为空,此时值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同。

【实例 3】在 tb_courses 表中插入一条新记录,course_id 值为 3,course_name 值为“Java”,course_grade 值为 4,info 值为“Jave EE”。输入的 SQL 语句和执行结果如下所示。

mysql> INSERT INTO tb_courses
    -> VLAUES(3,'Java',4,'Java EE');
Query OK, 1 rows affected (0.08 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
|         2 | Database    |            3 | MySQL            |
|         3 | Java        |            4 | Java EE          |
+-----------+-------------+--------------+------------------+
3 rows in set (0.00 sec)

INSERT 语句中没有指定插入列表,只有一个值列表。在这种情况下,值列表为每一个字段列指定插入的值,并且这些值的顺序必须和 tb_courses 表中字段定义的顺序相同。

注意:虽然使用 INSERT 插入数据时可以忽略插入数据的列名称,若值不包含列名称,则 VALUES 关键字后面的值不仅要求完整,而且顺序必须和表定义时列的顺序相同。如果表的结构被修改,对列进行增加、删除或者位置改变操作,这些操作将使得用这种方式插入数据时的顺序也同时改变。如果指定列名称,就不会受到表结构改变的影响。

向表中指定字段添加值

为表的指定字段插入数据,是在 INSERT 语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。

【实例 4】在 tb_courses 表中插入一条新记录,course_name 值为“System”,course_grade 值为 3,course_info 值为“Operating System”,输入的 SQL 语句和执行结果如下所示。

mysql> INSERT INTO tb_courses
    -> (course_name,course_grade,course_info)
    -> VALUES('System',3,'Operation System');
Query OK, 1 rows affected (0.08 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
|         2 | Database    |            3 | MySQL            |
|         3 | Java        |            4 | Java EE          |
|         4 | System      |            3 | Operating System |
+-----------+-------------+--------------+------------------+
4 rows in set (0.00 sec)

可以看到插入记录成功。如查询结果显示,这里的 course_id 字段自动添加了一个整数值 4。这时的 course_id 字段为表的主键,不能为空,系统自动为该字段插入自增的序列值。在插入记录时,如果某些字段没有指定插入值,MySQL 将插入该字段定义时的默认值。

“mysql如何增加字段的值”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/144622.html

(0)

相关推荐

  • 塞下曲拼音版古诗,北师大版五年级下册的古诗有哪些?

    技术塞下曲拼音版古诗,北师大版五年级下册的古诗有哪些?千里送鹅毛缅伯高将鹅贡唐朝,山高路远遥塞下曲拼音版古诗。钙阳湖失去,倒地哭号号。上复唐天子,可饶缅伯高。礼轻人意重,千里送鹅毛。秋浦歌(唐)李白 炉火照天地,红星乱紫

    生活 2021年10月20日
  • 电动车好学吗,大提琴好学还是中提琴好学

    技术电动车好学吗,大提琴好学还是中提琴好学我是学小提琴的电动车好学吗,我只想告诉楼主大提琴你上了高中开始学都来的及,中提琴难度和小提琴差不多,必须从小开始练琴,我们好多现在学中提琴的同学都是从小提琴转过来的,练大提琴的同

    生活 2021年10月22日
  • Go语言中什么是互斥锁

    技术Go语言中什么是互斥锁这篇文章将为大家详细讲解有关Go语言中什么是互斥锁,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、互斥锁Mutex1.1 Mutex介绍Go

    攻略 2021年10月21日
  • jquery中的$代表什么意思

    技术jquery中的$代表什么意思这篇文章主要介绍“jquery中的$代表什么意思”,在日常操作中,相信很多人在jquery中的$代表什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年12月2日
  • 如何理解Process 执行命令行封装类

    技术如何理解Process 执行命令行封装类今天就跟大家聊聊有关如何理解Process 执行命令行封装类,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。进行多次测试

    攻略 2021年11月12日
  • 字母顺序,26个英文字母书写顺序

    技术字母顺序,26个英文字母书写顺序1字母顺序、A B C D 的书写顺序准备好英语练习本子,格式一共有3行(上中下),用黑色的签字笔写出A B C D 。
    大写:A B C D 占上中两格,小写:a

    生活 2021年10月23日