-
2021-01-18 21:12:00
有时候在插入字符的时候,经常会发现',"很难插进去。在MYSQL里用就OK了。
举例如下:
mysql> create table new (name varchar(200));
Query OK, 0 rows affected (0.00 sec)
mysql> insert into new values('wt's test');
'>
'> ;
'> ';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's test');
;
'' at line 1
mysql> insert into new values('wt's test');
Query OK, 1 row affected (0.00 sec)
mysql>
mysql> insert into new values('wt"s test');
Query OK, 1 row affected (0.00 sec)
mysql> select * from new;
+-----------+
| name |
+-----------+
| wt's test |
| wt"s test |
+-----------+
2 rows in set (0.00 sec)[@more@]MySQL插入特殊字符
更多相关内容 -
mysql插入数据中文报错问题,最全解决方式
2018-01-23 13:41:58mysql插入数据中文报错问题,最全解决方式。 mysql 插入数据报错 -
mysql插入(一条)变量,C/C++连接mysql插入一条数据(记录)
2022-05-01 22:32:34mysql插入(记录)变量,C/C++连接mysql插入一条数据(记录)、Mysql方法一:string sql_str = "insert into water (id,name) values(777,'clean');";
string sql_str = "insert into water (id,name) values(777,'clean');";
int kk=222; string name="fast"; 方法二:string sql_str = "insert into water (id,name) values('"+to_string(kk)+"','"+name+"');";
int kk=222; string name="fast"; string sql_str = "insert into water (id,name) values('"+to_string(kk)+"','"+name+"');";
Tip:(1)执行语句的时候,记得将 sql_str 转换为 sql_str.c_str(),
(2)777所在位置为%d类型的数据,clean所在位置为字符串。
两种写法~~~~~~~~~~~~~~~
各位看官~直接复制-粘贴使用,记得点赞~~~~,谢谢,赞多才有动力创作。
-
MySQL插入数据
2021-02-06 23:52:45MySQL 插入数据MySQL 表中使用 INSERT INTO SQL语句来插入数据。你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。语法以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法...MySQL 插入数据
MySQL 表中使用 INSERT INTO SQL语句来插入数据。
你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。
语法
以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
如果数据是字符型,必须使用单引号或者双引号,如:"value"。
通过命令提示窗口插入数据
以下我们将使用 SQL INSERT INTO 语句向 MySQL 数据表 CodingDict_tbl 插入数据
实例
以下实例中我们将想 CodingDict_tbl 表插入三条数据:
root@host# mysql -u root -p password;
Enter password:*******
mysql> use CodingDict;
Database changed
mysql> INSERT INTO CodingDict_tbl
->(CodingDict_title, CodingDict_author, submission_date)
->VALUES
->("Learn PHP", "John Poul", NOW());
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO CodingDict_tbl
->(CodingDict_title, CodingDict_author, submission_date)
->VALUES
->("Learn MySQL", "Abdul S", NOW());
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO CodingDict_tbl
->(CodingDict_title, CodingDict_author, submission_date)
->VALUES
->("JAVA Tutorial", "Sanjay", '2007-05-06');
Query OK, 1 row affected (0.01 sec)
mysql>
注意: 使用箭头标记(->)不是SQL语句的一部分,它仅仅表示一个新行,如果一条SQL语句太长,我们可以通过回车键来创建一个新行来编写SQL语句,SQL语句的命令结束符为分号(;)。
在以上实例中,我们并没有提供 CodingDict_id 的数据,因为该字段我们在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。 所以,该字段会自动递增而不需要我们去设置。实例中 NOW() 是一个 MySQL 函数,该函数返回日期和时间。
使用PHP脚本插入数据
你可以使用PHP 的 mysql_query() 函数来执行 SQL INSERT INTO 命令来插入数据。
该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。
语法
bool mysql_query( sql, connection );
参数描述
sql必需。规定要发送的 SQL 查询。注释:查询字符串不应以分号结束。
connection可选。规定 SQL 连接标识符。如果未规定,则使用上一个打开的连接。
实例
以下实例中程序接收用户输入的三个字段数据,并插入数据表中:
向 MySQL 数据库添加数据if(isset($_POST['add']))
{
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
if(! get_magic_quotes_gpc() )
{
$CodingDict_title = addslashes ($_POST['CodingDict_title']);
$CodingDict_author = addslashes ($_POST['CodingDict_author']);
}
else
{
$CodingDict_title = $_POST['CodingDict_title'];
$CodingDict_author = $_POST['CodingDict_author'];
}
$submission_date = $_POST['submission_date'];
$sql = "INSERT INTO CodingDict_tbl ".
"(CodingDict_title,CodingDict_author, submission_date) ".
"VALUES ".
"('$CodingDict_title','$CodingDict_author','$submission_date')";
mysql_select_db('CodingDict');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfullyn";
mysql_close($conn);
}
else
{
?>
Tutorial Title Tutorial Author Submission Date [ yyyy-mm-dd ] }
?>
在我们接收用户提交的数据时,为了数据的安全性我们需要使用 get_magic_quotes_gpc() 函数来判断特殊字符的转义是否已经开启。如果这个选项为off(未开启),返回0,那么我们就必须调用addslashes 这个函数来为字符串增加转义。
你也可以添加其他检查数据的方法,比如邮箱格式验证,电话号码验证,是否为整数验证等。
-
MySQL插入数据的三种方法
2021-07-26 16:49:00Mysql 插入数据 1、mysql中常用的三种插入数据的方法 insert into:正常的插入数据,插入数据的时候会检查主键或者唯一索引,如果出现重复就会报错。 replace into:替换数据。插入时,如果表中已经存在相同的...Mysql 插入数据
1、mysql中常用的三种插入数据的方法
- insert into:正常的插入数据,插入数据的时候会检查主键或者唯一索引,如果出现重复就会报错。
- replace into:替换数据。插入时,如果表中已经存在相同的primary key或者unique索引,则用新数据替换;如果没有相同的primary key或者unique索引,则直接插入。
- insert ignore into:插入时,如果表中已经存在相同的primary key或unique索引,则不插入;如果没有相同的primary key或者unique索引,则直接插入。这样就不用校验是否已经存在了,有则忽略,无则添加
注:对于以上三种方法,如果表中没有设置主键或唯一索引;则效果都是一样的,即直接插入数据。
2、语法介绍
2.1 insert into
每个字段与其值是严格一一对应的。也就是说:每个值、值的顺序、值的类型必须与对应的字段相匹配。 语法如下:# 第一种方式 insert into 表名(字段名1,字段名2,...) values(值1,值2,...); # 第二种方式:按照表中所有字段进行插入数据,一定要与字段在表中定义的顺序一致 insert into 表名 values(值1,值2,...);
2.2 insert ignore into
这种方式的语法跟insert into 是一样的 语法如下:# 第一种方式 insert ignore into 表名(字段名1,字段名2,...) values(值1,值2,...); # 第二种方式:按照表中所有字段进行插入数据,一定要与字段在表中定义的顺序一致 insert ignore into 表名 values(值1,值2,...);
2.3 replace into
语法与上面大同小异,如下所示:# 第一种方式 replace into 表名(字段名1,字段名2,...) values(值1,值2,...); # 第二种方式:按照表中所有字段进行插入数据,一定要与字段在表中定义的顺序一致 replace into 表名 values(值1,值2,...);
3、使用示例
初始表准备: 创建一个actor 表, actor_id 是主键CREATE TABLE actor ( actor_id smallint(5) NOT NULL PRIMARY KEY, first_name varchar(45) NOT NULL, last_name varchar(45) NOT NULL, last_update DATETIME NOT NULL); insert into actor values ('3', 'WD', 'GUINESS', '2006-02-15 12:34:33');
此时查询:
select * from actor
开始测试:
(一)测试insert into
例如,现在再插入actor_id 为 3 的数据insert into actor values ('3', 'ED', 'CHASE', '2006-02-15 12:34:33');
结果:
/* SQL错误(1062):Duplicate entry ‘3’ for key ‘actor.PRIMARY’*/
此时表中的数据:actor_id 为 3的数据是没有插入成功的(二)测试insert ignore into
例如,做同样的事情,现在再插入actor_id 为 3 的数据insert ignore into actor values ('3', 'ED', 'CHASE', '2006-02-15 12:34:33');
结果:
insert ignore into actor values (‘3’, ‘ED’, ‘CHASE’, ‘2006-02-15 12:34:33’)
Affected rows: 0
时间: 0s此时表中的数据:actor_id 为 3的新数据是没有插入的,表中的所有数据没有发生变化。此时并没有报错,所以当我们需要插入一条未知是否已存在的数据时,可以直接使用该语句插入,而不用提前进行校验。
(四)测试 replace into
经过上面的操作,目前的表数据并未发生变化。
此时做同样的事情,现在再插入actor_id 为 3 的数据
replace into actor values ('3', 'ED', 'CHASE', '2006-02-15 12:34:33');
结果:
replace into actor values (‘3’, ‘ED’, ‘CHASE’, ‘2006-02-15 12:34:33’)
Affected rows: 2
时间: 0.006s再次查询表中数据,发现actor_id为3 的数据已经被更新。
插入成功。另外说明:之所以Affected rows为2是因为replace返回的数值是由新行和旧行的变化一起决定的,在本例子中旧行消失了,增加了一条新行,所以返回值是2。当我们插入一条主键不重复的数据时,replace返回的值为1 ,因为只增加了一个新行。例子如下:replace into actor values ('4', 'AD', 'JASON', '2006-02-15 12:34:33');
replace into actor values (‘4’, ‘AD’, ‘JASON’, ‘2006-02-15 12:34:33’)
Affected rows: 1
时间: 0.005s此时表中的数据如下:
对于表中未设置主键的情况下,三种插入数据的方法,读者可自行尝试。
-
python操作mysql插入数据
2021-12-02 15:34:20python操作mysql插入数据首先安装pymysql这个库pycharm连接数据库操作mysql语句连接数据库插入数据 由于有时候,数据存在excel表格中,需要借助python去读取数据然后再插入到数据库中 首先安装pymysql这个库 ... -
MySQL插入datetime类型字段
2021-08-26 22:12:12insert into table_name (field1,field2) values ('2021-10-20','2021-10-20 11:12:12') 其中field1,field2为datetime类型 -
mysql插入数据变慢的原因
2021-01-27 05:10:57最近的项目需要导入大量的数据,插入的过程中还... 于是就开始分析插入的时间损耗,想到了如下的解决方案:(mysql使用的INNODB引擎)1.分析是否是由主码,外码,索引造成的插入效率降低主码:由于主码是每张表必须... -
【MySQL】永久解决mysql插入中文失败问题
2021-11-28 14:30:27有的小伙伴在mysql中插入中文会报错,那么我们要指定字符集。 使用一个命令可以查看当前数据的字符集~(没有修改的时候是拉丁文) show variables like ‘%character%’; 我们可以有临时解决方案,和永久解决的... -
MySQL 插入语句
2020-03-14 09:02:49在 MySQL 中可以使用 INSERT 语句向数据库已有的表中插入一行或者多行元组数据。 基本语法 INSERT 语句有两种语法形式,分别是 INSERT…VALUES 语句和 INSERT…SET 语句。 1 INSERT…VALUES语句 INSERT VALUES 的... -
Mysql插入优化
2019-05-19 13:08:11Mysql批量插入事务插入性能对比。对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,可能每天花费在数据导入上的时间就会长达几个小时之久。因此,优化数据库... -
MySQL插入数据很慢优化思路
2021-04-13 20:49:42MySQL插入数据很慢优化思路解决方法与思路 解决方法与思路 插入数据量非常大的场景 加大mysql配置中的bulk_insert_buffer_size,这个参数默认为8M bulk_insert_buffer_size=100M 修改该条记录有助于千万级别数据... -
mysql插入数据失败原因分析
2021-01-19 03:31:19//将引号替换成程序员人生 2、执行SQL语句插入数据 INSERT INTO `wlsh_xh` (`title`, `content) VALUES ('{$title}', '{$content}') 3、把“程序员人生”汉字替换成引号 UPDATE wlsh_xh SET content = REPLACE... -
mysql插入或更新
2019-08-08 17:43:091. 数据插入或更新,既可以在java业务层进行,也可以在mysql数据库层处理。 2.业务层一般做法是先查询,如果不存在在插入,如果存在则更新,但是查询和插入不是原子性操作,在并发量比较高的时候,可能两个线程都... -
mysql插入数据后返回自增ID
2019-08-01 16:38:03mysql插入数据后返回自增ID的方法 mysql和oracle插入的时候有一个很大的区别是,oracle支持序列做id,mysql本身有一个列可以做自增长字段,mysql在插入一条数据后,如何能获得到这个自增id的值呢? 方法一:是使用... -
mysql插入需要顺序吗
2020-11-19 21:06:04增删改查是数据库最常用的4个命令,插入算是第二常用,第一是SELECT。插入数据的方式大概有4种 插入完整的行 ...顺序插入指的是:给出数据库名和需要插入数据,按照数据库字段排列顺序将数据插入数据库。 . -
七种MYSQL插入数据后返回自增主键ID的方法
2020-10-26 10:09:34MYSQL插入数据后返回自增ID的方法 mysql和oracle插入的时候有一个很大的区别是,oracle支持序列做id,mysql本身有一个列可以做自增长字段,mysql在插入一条数据后,如何能获得到这个自增id的值呢? 1、使用last_... -
mySQL插入数据自动生成时间
2021-03-16 19:52:40mySQL插入数据自动生成时间 使用navcat for mysql工具创建数据库时,如果需要设置一个时间字段,并且在插入数据时让这个时间是自动生成。可以参考下面方法: 1、在表中time字段是需要在添加新数据的时候,自动生成... -
如何快速向Mysql插入大量数据?
2021-02-02 07:28:08本文摘要本文演示了3分钟如何向MySQL数据库中插入100万条数据的实例。一、编写测试案例向MySQL数据库中插入百万条数据。测试数据表建表脚本如下:use db_xk;drop table if exists tb_test2;create table tb_test2 ... -
MySql 插入负数
2020-09-02 09:43:34数据类型设置为int型或者其它数值型,字段属性不选择 -
Mysql 插入数据的几种方式
2019-11-01 09:14:47Mysql 插入数据 -
MySQL每秒可以插入多少条记录?影响MySQL插入速度的因素有哪些?
2021-01-25 12:26:16要回答这个问题,首先要考虑影响mysql插入速度的因素有哪些?硬盘的速度,网卡的速度,写入行的数据量,数据在硬盘中的存放位置等等因素。简单的数据,插入速度肯定快,复杂的插入肯定慢。所以单纯这个问题不好回答,... -
如何提高mysql插入数据的速度
2019-07-04 13:12:53提高mysql插入数据的速度 在myisam engine下: 尽量使用insert into table_name values (…), (…),(…)这样的形式插入数据,避免使用inset into table_name values (); inset into table_name values (); inset ... -
解决MySQL插入汉字报错的问题
2020-05-29 09:35:48解决MySQL插入汉字报错的问题 如图是我在做mybatis实验的时候创建的数据库表 在插入数据的时候会报如下错误 Incorrect string value: ‘\xCD\xF5\xE8\xA1’ for column ‘s_name’ at row 1 但是将汉字改为英文后... -
Mysql插入数据:不存在则插入,存在则跳过或更新
2021-01-18 18:45:19一般情况下我们会写两条sql去操作select 查询当前插入的数据是否已经存在如果不存在就插入新的记录,如果存在就提示用户该记录已经存在在mysql里面可以这么操作,如果记录存在就跳过或者更新,不存在就插入!... -
mysql插入更新操作
2019-06-06 14:54:29同一条数据多次插入到数据库中,会形成脏数据,解决的办法是加上唯一索引,之后的操作会先在数据库中查找有没有存在这样一个唯一索引,如果不存在的话会往数据库里面插入一条新的数据,如果存在的话会进行更新的操作... -
MySQL 插入记录
2019-05-25 16:14:56# 插入记录 # 通用语法 -- 插入单条记录 INSERT INTO t_dept (deptno,dname,loc) VALUES(50,"技术部","GUANGZHOU"); -- 插入多条记录 INSERT INTO t_dept (deptno,dname,loc) VALUES(60,"后期部","HANGZHOU"),(70,... -
Java向mysql数据库插入datetime类型数据(插入当前时间)/向mysql插入时间
2020-10-30 20:36:06Java向mysql数据库插入datetime类型数据实例 参考URL: http://www.125jz.com/1859.html -
mysql插入json数据
2018-11-22 20:11:36在试图将json数据存入mysql时,出现了错误 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 总结原因是由于json...