MySQL 插入数据

MySQL 表中使用INSERT INTOSQL语句来插入数据。

你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。

语法

以下为向MySQL数据表插入数据通用的INSERT INTO SQL语法:


INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );

如果数据是字符型,必须使用单引号或者双引号,如:"value"。


通过命令提示窗口插入数据

以下我们将使用 SQL INSERT INTO语句向 MySQL 数据表 kxdang_tbl 插入数据

实例

以下实例中我们将向 kxdang_tbl 表插入三条数据:


root@host# mysql -u root -p password;
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> INSERT INTO kxdang_tbl
-> (kxdang_title, kxdang_author, submission_date)
-> VALUES
-> ("学习 PHP", "菜鸟教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO kxdang_tbl
-> (kxdang_title, kxdang_author, submission_date)
-> VALUES
-> ("学习 MySQL", "菜鸟教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO kxdang_tbl
-> (kxdang_title, kxdang_author, submission_date)
-> VALUES
-> ("JAVA 教程", "RUNOOB.COM", '2016-05-06');
Query OK, 1 rows affected (0.00 sec)
mysql>

注意: 使用箭头标记 -> 不是 SQL 语句的一部分,它仅仅表示一个新行,如果一条SQL语句太长,我们可以通过回车键来创建一个新行来编写 SQL 语句,SQL 语句的命令结束符为分号 ;。

在以上实例中,我们并没有提供 kxdang_id 的数据,因为该字段我们在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。 所以,该字段会自动递增而不需要我们去设置。实例中 NOW() 是一个 MySQL 函数,该函数返回日期和时间。

接下来我们可以通过以下语句查看数据表数据:

读取数据表:

select * from kxdang_tbl;

输出结果:


使用PHP脚本插入数据

你可以使用PHP 的 mysqli_query() 函数来执行 SQL INSERT INTO命令来插入数据。

该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。

语法


mysqli_query(connection,query,resultmode);
参数 描述
connection 必需。规定要使用的 MySQL 连接。
query 必需,规定查询字符串。
resultmode 可选。一个常量。可以是下列值中的任意一个: * MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个) * MYSQLI_STORE_RESULT(默认)

实例

以下实例中程序接收用户输入的三个字段数据,并插入数据表中:

添加数据

<?php
$dbhost = 'localhost'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失败: ' . mysqli_error($conn));
}
echo '连接成功<br />';
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8"); $kxdang_title = '学习 Python';
$kxdang_author = 'RUNOOB.COM';
$submission_date = '2016-03-06'; $sql = "INSERT INTO kxdang_tbl ".
"(kxdang_title,kxdang_author, submission_date) ".
"VALUES ".
"('$kxdang_title','$kxdang_author','$submission_date')"; mysqli_select_db( $conn, 'RUNOOB' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('无法插入数据: ' . mysqli_error($conn));
}
echo "数据插入成功\n";
mysqli_close($conn);
?>

对于含有中文的数据插入,需要添加 mysqli_query($conn , "set names utf8"); 语句。

接下来我们可以通过以下语句查看数据表数据:

读取数据表:

select * from kxdang_tbl;

总结MySQL 的一些知识点:MySQL 插入数据的更多相关文章

  1. Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据

    Title:Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据 --2013-10-11 11:57 #include <stdio.h> ...

  2. mysql存储过程批量向表插入数据

    业务需要,往某个表中批量插入数据,使用存储过程插入 首先,要建立一张mysql表,表明为phone_number, 三个字段,id 自增,number 就是要插入的表格,is_used 表示十分已经使 ...

  3. Mysql向新建表中插入数据, Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'UserName' at row 1

    在本地通过MYSQL创建测试表 CREATE Table User ( UserId int not NULL PRIMARY KEY auto_increment, //主键自增 UserName ...

  4. MySQL随机字符串函数批量插入数据

      简单举个例子: drop table if exists demo1 create table demo1 ( id int primary key auto_increment, name ) ...

  5. 使用JDBC在MySQL数据库中快速批量插入数据

    使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(10W+),如何提高效率呢? 在JDBC编程接口中Statement 有两个方法特别值得注意: void addBatch ...

  6. python3与mysql:创建表、插入数据54

    import pymysql db = pymysql.connect(host=',db='jodb1',port=3307,charset='utf8') # #测试连接开发库成功 # db = ...

  7. mysql根据条件决定是否插入数据

    这个问题其实分两个方面: 1.根据表的主键决定数据是否插入. 2.根据表的非主键决定是否插入. 假设有表DOC_INFO(医生表),联合主键HOS_ID(医院代码),DEPT_CODE(科室代码),D ...

  8. mysql存储过程使用游标循环插入数据

    DELIMITER $$ DROP PROCEDURE IF EXISTS `procedure_course`$$ CREATE DEFINER=`root`@`localhost` PROCEDU ...

  9. Mysql中Innodb大量插入数据时SQL语句的优化

    innodb优化后,29小时入库1300万条数据 参考:http://blog.51yip.com/mysql/1369.html 对于Myisam类型的表,可以通过以下方式快速的导入大量的数据: A ...

  10. Mysql常用sql语句(22)- insert 插入数据

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 终于讲完基础的查询语句了...这篇讲的就是插入数 ...

随机推荐

  1. 文心一言 VS 讯飞星火 VS chatgpt (125)-- 算法导论10.6 6题

    六.用go语言,任意有根树的左孩子右兄弟表示法中每个结点用到三个指针: leftchild.rightsibling 和parent.对于任何结点,都可以在常数时间到达其父结点,并在与其孩子数呈线性关 ...

  2. 深入解析css-笔记

    前言 本文章是根据<深入解析CSS>一书所作的学习笔记,书中的知识点基本都概括在这.希望对您有帮助,另外本博客是通过word笔记文档导入,虽然后续对内容和代码相关进行了一些格式处理,但还是 ...

  3. 【scipy 基础】--聚类

    物以类聚,聚类算法使用最优化的算法来计算数据点之间的距离,并将它们分组到最近的簇中. Scipy的聚类模块中,进一步分为两个聚类子模块: vq(vector quantization):提供了一种基于 ...

  4. java 处理常量字符串过长 & springboot 项目读取 resouces 文件夹下的文件内容

    长字符串起因 项目里面有一长串的加密字符串(最长的万多个字符),需要拼接作为参数发送给第三方. 如果我们使用 枚举 定义的话,idea 编译的时候就会出现编译报错 Error: java:常量字符串过 ...

  5. 当代免疫学小史-第一章(根据讲谈社Blue Backs系列2009年第一版第三次印刷版本翻译)

    作者 -岸本忠三:前大阪大学校长.IL-6发现人 -中嶋彰:科普作家 第1章 石坂往事 巴尔的摩的大雪 1970年匆匆而过,这一年举行了大阪世博会,三岛由纪夫也是在这一年切腹自杀的.1971年新年第一 ...

  6. python3使用pymsql操作mysql数据库

    操作系统 :Windows 10_x64 python版本 :3.9.2 pymysql版本: 1.0.2 MySQL版本: 5.7.38   之前写过一篇关于python操作mysql数据库的文章: ...

  7. python列表之部分列表——切片

    目录 切片 全索引 半索引 负数索引 遍历切片 复制列表 切片 全索引 我们平常可能需要使用一个列表中的子列表,也就是部分元素,这个时候我们就需要用到切片这个功能啦 要创建切片,就如同range()函 ...

  8. 【题解】HD2016.X1,HD2016.X3,HD2016.X4,HD2016.X5

    [HD2016.X1] 价钱统计 题目描述 夏天到了,超市里摆满了各种各样的应季水果.现在知道:西瓜的价钱是每斤 1.2 元:桃子的价钱是每斤 3.5 元:葡萄的价钱是每斤 4.5 元:苹果的价钱是每 ...

  9. Vue05-Vuex

    01. 什么是状态管理 在开发中,我们的应用程序需要处理各种各样的数据,这些数据需要保存在我们应用程序的某一个位置,对于这些数据的管理我们就称之为 状态管理. 在Vue开发中,我们使用组件化的开发方式 ...

  10. SpringBoot整合EasyExcel

    1.Excel导入导出的应用场景 在做项目中很多时候都会用到Excel的导入和导出 2.解决方案 POI:操作比较繁琐 EasyExcel:正如其名,'Easy'Excel相对于POI使用起来还是比较 ...