Tag: sql insert

有没有什么办法可以显示`gunzip <database.sql.gz |的进度 mysql …`进程?

每周一次,我需要运行一个巨大的数据库更新到我的本地开发环境,如下所示: $ gunzip < /path/to/database1.sql.gz | mysql -uUSER -p database1 & $ gunzip < /path/to/database2.sql.gz | mysql -uUSER -p database2 & $ gunzip < /path/to/database3.sql.gz | mysql -uUSER -p database3 & 我试图在一夜之间运行,因为它可能需要几个小时才能完成。 你能帮我想出一个方法来展示这些任务的进展吗? 这里有一些猜测: 获取数据库的解压缩文件大小,并与我的本地数据库大小进行比较 在mysql中运行show processlist来查看当前正在插入的表(我当前使用的方法,但是有些表是巨大的,至less有一个数据库只有一个巨大的表,所以这个表中的大部分都被卡住了,less于帮助) 所有的db.sql.gz文件都是标准的gzipped mysqldumps,所以我不认为我可以在转储中创build任何东西来给我一个更新。 (但是,如果我错过了某些东西,我会开放的) 赏金规则 答案必须: 提供有用且合理的准确进度(可视化如scp (首选!)或通过简单的进度数据库表,可轻松访问)。 不要打破常规mysqldump导出或常规gunzip … | mysql gunzip … | mysql导入(对于其他工程师谁可能不会使用任何你想出的) 不要给我的DBA心脏病发作 – 所以留在特殊的mysqldump或其他MySQL分支请求容易。

在SQL中,UPDATE总是比DELETE + INSERT更快?

说我有一个简单的表,有以下字段: ID:int,autoincremental(标识),主键 名称:varchar(50),唯一,具有唯一索引 标签:int 我从不使用ID字段进行查找,因为我的应用程序始终基于使用名称字段。 我需要不时更改Tag值。 我正在使用以下琐碎的SQL代码: UPDATE Table SET Tag = XX WHERE Name = YY; 我想知道是否有人知道以上是否总是比: DELETE FROM Table WHERE Name = YY; INSERT INTO Table (Name, Tag) VALUES (YY, XX); 再次 – 我知道在第二个例子中,ID被改变,但是对于我的应用程序来说并不重要。

MySQL和PHP – 插入NULL而不是空string

我有一个MySQL语句插入一些variables到数据库中。 我最近添加了两个可选的字段($ intLat,$ intLng)。 现在,如果这些值没有input,我会传递一个空string作为值。 如何将一个显式的NULL值传递给MySQL(如果为空)? $query = "INSERT INTO data (notes, id, filesUploaded, lat, lng, intLat, intLng) VALUES ('$notes', '$id', TRIM('$imageUploaded'), '$lat', '$long', '$intLat', '$intLng')"; mysql_query($query);

如何插入包含撇号(单引号)的值?

什么是正确的SQL语法插入一个撇号的值在它? Insert into Person (First, Last) Values 'Joe', 'O'Brien' 我不断收到一个错误,因为我认为O之后的撇号是值的结束标记。

插入数据到表(mysqli插入)

我一直在看这个代码一会儿,我看不出问题在哪里。 我一直在阅读整个StackOverflow,仍然无法看到我的错误在哪里。 <?php mysqli_connect("localhost","root","","web_table"); mysql_select_db("web_table") or die(mysql_error()); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } echo "<p> Connection Successful!" mysqli_query('INSERT INTO web_formitem (ID, formID, caption, key, sortorder, type, enabled, mandatory, data) VALUES (105, 7, Tip izdelka (6), producttype_6, 42, 5, 1, 0, 0)'); echo "<p>Insert successfull"; ?> 错误是在13行,这就是mysqli_query('insert…我试图帮助自己http://www.w3schools.com/php/php_mysql_insert.asp,但它没有帮助我很多。

在Oracle中进行多行插入的最佳方法是什么?

我正在寻找一种将多行插入Oracle 9数据库的好方法。 以下在MySQL中工作,但在Oracle中似乎不受支持。 INSERT INTO TMP_DIM_EXCH_RT (EXCH_WH_KEY, EXCH_NAT_KEY, EXCH_DATE, EXCH_RATE, FROM_CURCY_CD, TO_CURCY_CD, EXCH_EFF_DATE, EXCH_EFF_END_DATE, EXCH_LAST_UPDATED_DATE) VALUES (1, 1, '28-AUG-2008', 109.49, 'USD', 'JPY', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (2, 1, '28-AUG-2008', .54, 'USD', 'GBP', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (3, 1, '28-AUG-2008', 1.05, 'USD', 'CAD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (4, 1, '28-AUG-2008', .68, 'USD', 'EUR', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (5, 1, '28-AUG-2008', […]

在SQLite中插入“如果不存在”语句

我有一个SQLite数据库。 我试图插入值( users_id , users_id )在表bookmarks ,只有如果两个不存在之前连续。 INSERT INTO bookmarks(users_id,lessoninfo_id) VALUES( (SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"'), (SELECT _id FROM lessoninfo WHERE Lesson="+lesson_no+" AND cast(starttime AS int)="+Math.floor(result_set.rows.item(markerCount-1).starttime)+") WHERE NOT EXISTS ( SELECT users_id,lessoninfo_id from bookmarks WHERE users_id=(SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"') AND lessoninfo_id=( SELECT _id FROM lessoninfo WHERE Lesson="+lesson_no+"))) 这给了一个错误说: db语法附近的错误。

如何加快PostgreSQL中的插入性能

我正在测试Postgres插入性能。 我有一个表格,其中一列的数字作为其数据类型。 还有一个索引。 我用这个查询填充数据库: insert into aNumber (id) values (564),(43536),(34560) … 我用上面的查询一次很快地插入了4百万行。 数据库达到600万行之后,性能每15分钟急剧下降到100万行。 是否有任何技巧来提高插入性能? 我需要这个项目的最佳插入性能。 在具有5 GB RAM的计算机上使用Windows 7 Pro。