14《MySQL 教程》 INSERT 插入数据

14《MySQL 教程》 INSERT 插入数据,第1张

这里以前面新陆猛戚建的 teacher 表为例, teacher 表的字段为 name、age、id_number,向教师表新增一条数据命令如下:

执行下上面的这条命令,执行结果如下图:

其中 “INSERT INTO” 关键字表示这条知橘命令是插入数据命令,“teacher” 是要插入数据的目标数据表名称,“name,age,id_number” 是表的字段名,“VALUES” 后面跟的是字段对应的值,值的顺序和前面字段的顺序一致。

上面介绍了如何向数据表插入一条数据,这里需要查看数据表已有的所有数据:

执行结果如下图:

“SELECT” 关键字表示这条命令是查询相关命令,"*" 则代表要查询出表中所有的数据。“FROM teacher” 则表明要查询的是哪一个数据表。

关于 SELECT 查询语句还有很多中使用场景,比如我们要查询出表中 age 字段的值大于 20 岁的数据。关于 SELECT 的其他使用我们会在后面的小节详细讲解。

新增多条数据命令:

执行结果如下图:

本小节介绍了如图向数据表插入一条数据、查询表所有数据、向表插入多条数据。前面介绍数据表的设计规范时介绍了数据表的第二设计范式要求所有数据表需要有业务主键。需要注意的是本节中 teacher 表的业务主键为自增 id,因此插入数据的时候不需要插入 id 字段的值。id 字段的默认是从 1 开始自增的,也可以指定自增起始值,如早陵下建表语句,id自增值是从100开始的:

其中 “AUTO_INCREMENT=100” 表示自增主键 id 的值默认从 100 开始自增加的。

1、首先打开MYSQL的管理工具,新建一个test表,并且在表中插入两个字段。

2、搭举接下来在Editplus编辑器中创建一个PHP文件,进行数据库连接,并且选择要 *** 作的数据库。

3、然后通过mysql_query方法执行一个Insert的插入语句。

4、执行完毕以后,回到数据碧戚库管理工具中,这个时候你会发现插入的中文乱码了。

5、接下来在PHP文件中通过mysql_query执行一个set  names  utf8语句。

6、接下来执行以后回到MYSQL数据库中,发现插入的中文显示正常了,即成功往mysql中写知慧碧入数据了。

在mysql中要向数据库中保存数据我们最常用的一种方法就是直接使用Insert into语句来实现了,下面我来给大家详细介绍Insert into语句用法

INSERT用于向一个已有的激茄表中插入新行。INSERT…VALUES语句根据明确指定的值插入行。让我们先来看一下insert语句标准的定义,放在[]内的都是可以省略的:

语法

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]

[INTO] tbl_name [(col_name,...)]

VALUES ({expr | DEFAULT},...),(...),...

[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

实例

create table links (name varchar(255) not null default '', address varchar(255) not null default '')

最简单的插入方法

代码如下

复制代码

Mysql>insert into worker values(‘tom’,’[email protected]’),(‘paul’,’[email protected]’)

insert into links values('jerichen','gdsz')

批量保埋铅唤存数据

假如我们想一次性的往数据库里插入多条数据咋办?一定要写多条语句吗?肯定是不会的,因为MySQL设计的还是很人性的。其提供insert语句的

一种非标准格式弯凯,即,values(字段值1,字段值2,字段值3),(另一个字段1的值,另一个字段2的值,另一个字段3的值)

# 同时插入两条数据,看语法说明,那个into被我省略了

代码如下

复制代码

insert links (name,url) values('jerichen','gdsz'),('alone','gdgz')

使用INSERT…SELECT语句插入从其他表选择的行

当我们在上一节学习创建表时,知道可以使用select从其它表来直接创建表,甚至可以同时复制数据记录。如果你已经拥有了一个表,你同样可以从select语句的配合中获益。

从其它表中录入数据,例如:

代码如下

复制代码

mysql>insert into tbl_name1(col1,col2) select col3,col4 from tbl_name2

你也可以略去目的表的列列表,如果你每一列都有数据录入。

代码如下

复制代码

mysql>insert into tbl_name1 select col3,col4 from tbl_name2

INSERT INTO ... SELECT语句满足下列条件:

查询不能包含一个ORDER BY子句。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11967107.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存