- 浏览: 1272782 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (608)
- 数据结构 (2)
- AJAX (3)
- 设计模式 (3)
- java (117)
- js (14)
- css (9)
- jsp (10)
- 杂文 (49)
- htmlparser (6)
- 数据库 (29)
- 算法 (14)
- 数据挖掘 (11)
- 电脑杂症 (12)
- 网络爬虫 (7)
- 应用服务器 (9)
- PHP (2)
- C# (14)
- 测试 (3)
- WEB高性能开发 (3)
- swt (1)
- 搜索引擎 (16)
- HttpClient (4)
- Lite (1)
- EXT (1)
- python (1)
- lucene (4)
- sphinx (9)
- Xapian (0)
- linux (44)
- 问题归类 (1)
- Android (6)
- ubuntu (7)
- SEO (18)
- 数学 (0)
- 农业资讯 (12)
- 游戏 (3)
- nginx (1)
- TeamViewer (1)
- swing (1)
- Web前 端 (1)
- 主页 (0)
- 阿萨德发首发身份 (0)
- 软件设计师 (0)
- hibernate (5)
- spring3.0 (5)
- elastic (1)
- SSH (3)
- ff (0)
- oracle 10g (9)
- 神经网络 (1)
- struts2.0 (2)
- maven (1)
- nexus (1)
- 辅助工具 (3)
- Shiro (1)
- 联通项目 (0)
- 2014年专业选择 (0)
- freemarker (1)
- struts1.2 (8)
- adfasdfasfasf (0)
- TortoiseSVN (1)
- jstl (1)
- jquery (1)
- eclipse plugin (0)
- 游戏外挂 (1)
- 推广 (0)
- 按键精灵 (1)
- ibatis3.0 (1)
最新评论
-
水野哲也:
不不不, 这个您真错了!其实是你引用的那个jsp和本身的jsp ...
解析关于jsp页面指令冲突问题contentType="text/html;charset=UTF-8" -
caobo_cb:
import xx.cn.weibo.Util;
[ java版]新浪微博之ruquest_token篇 -
caobo_cb:
你好 Util包没有
[ java版]新浪微博之ruquest_token篇 -
小桔子:
你好!我遇到个问题 max_allowed_packet值总是 ...
mysql查询占用内存,优化的技巧 -
donghustone:
谢谢大神!
用JSmooth制作java jar文件的可执行exe文件教程(图文)
create table T_ZST(
id int(4) NOT NULL AUTO_INCREMENT UNIQUE,
product_name varchar(50) NOT NULL,
product_type varchar(50) NOT NULL,
product_country varchar(50) NOT NULL,
product_minimum_price varchar(50),
product_maximum_price varchar(50),
product_staple_price varchar(50),
product_info_from varchar(50) NOT NULL,
product_business_time varchar(50)
);
MYSQL三种插入方式对比:单条插入、LOAD DATA、存储过程
以下为引用的内容: 数据库SQL文件: /*source F:/mysqlTest/mysqlInsertTest/src/db.sql*/ drop database if exists testInsert; create database testInsert; use testInsert; drop table if exists insertTB; create table insertTB(id int primary key, username varchar(20)); 数据库属性: package com.ys.db.init; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public abstract class DBProperty { private static String FILE_NAME = "db.properties"; static { InputStream in = DBProperty.class.getResourceAsStream(FILE_NAME); Properties p = new Properties(); try { p.load(in); driverClass = p.getProperty("driverClass"); url = p.getProperty("url"); username = p.getProperty("username"); password = p.getProperty("password"); } catch (IOException e) { e.printStackTrace(); } } public static String driverClass = "com.mysql.jdbc.Driver"; public static String url = "jdbc:mysql://localhost:3306/testInsert"; public static String username = "root"; public static String password = "wq3892961"; } driverClass=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/testInsert username=root password=wq3892961 数据源: package com.ys.db.init; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import com.ys.db.init.DBProperty; public class DataSource { protected DataSource() { try { System.out.println("driverClass:" + DBProperty.driverClass); Class.forName(DBProperty.driverClass); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public Connection getConnection() { try { System.out.println("url:" + DBProperty.url); System.out.println("username:" + DBProperty.username); System.out.println("password:" + DBProperty.password); return DriverManager.getConnection(DBProperty.url, DBProperty.username, DBProperty.password); } catch (SQLException e) { e.printStackTrace(); return null; } } }
普通的每条插入:
package com.ys.db.init; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; public class TestInsert1 { public static void main(String[] args) { DataSource d = new DataSource(); Connection connection = d.getConnection(); try { Statement createStatement = connection.createStatement(); long start = System.currentTimeMillis(); for (long i = 0; i < 100000; i++) { createStatement.execute("insert into insertTB values(" + i + ", 'username')"); } long end = System.currentTimeMillis(); System.out.println((end - start) / 1000); createStatement.close(); connection.close(); // 123秒 } catch (SQLException e) { e.printStackTrace(); } } } 消耗了123秒
LOAD DATA指令:
首先需要生成数据文件,要100000条,作为程序员的我们怎么可以是复制呢?自己编写呗!
package com.ys.db.init; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class GInert { public static void main(String args[]) { try { File f = new File("./src/i.sql"); if (!f.exists()) { f.createNewFile(); } FileOutputStream out = new FileOutputStream(f, true); for (long i = 0; i < 100000; i++) { out .write((i + "\tusername\r\n") .getBytes()); } out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } 测试类: package com.ys.db.init; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; public class TestInsert2 { public static void main(String[] args) { DataSource d = new DataSource(); Connection connection = d.getConnection(); Statement createStatement = null; try { createStatement = connection.createStatement(); String sql = "Load Data InFile 'F:/mysqlTest/mysqlInsertTest/src/i.sql' Into Table `insertTB`"; long start = System.currentTimeMillis(); createStatement.execute(sql); long end = System.currentTimeMillis(); System.out.println((end - start) / 1000); createStatement.close(); connection.close(); // 0秒 } catch (SQLException e) { e.printStackTrace(); } } } 仅仅需要0秒! 存储过程: 新建存储过程 delimiter // CREATE PROCEDURE idata() BEGIN DECLARE a INT; SET a = 1; WHILE a < 100000 DO INSERT INTO insertTB VALUES(a, 'username'); SET a = a + 1; END WHILE; END;// 测试类: package com.ys.db.init; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; public class TestInsert3 { public static void main(String[] args) { DataSource d = new DataSource(); Connection connection = d.getConnection(); Statement createStatement = null; try { createStatement = connection.createStatement(); String sql = "call idata();//"; long start = System.currentTimeMillis(); createStatement.execute(sql); long end = System.currentTimeMillis(); System.out.println((end - start) / 1000); createStatement.close(); connection.close(); // } catch (SQLException e) { e.printStackTrace(); } } }
也只是使用了0秒
从上可知道,存储过程和LOAD DATA都会比单条语句的插入快的多!
和 Load Data InFile 相反的是
Select * From `TableTest` Into OutFile 'C:/Data_OutFile.txt';
注意一点,要生成文本文件的时候,字段之间有一个制表符\t,例如,
"\t6\t5\t1\t1.8\t1.8\t1.8\t7\t9\r\n"
发表评论
-
数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问
2012-09-07 12:12 3099数据导入报错:Got a packet bigger than ... -
mysql 创建 数据库时指定编码
2012-09-03 17:17 835mysql 创建 数据库时指定编码很重要,很多开发者都使用了默 ... -
mysql MERGE 错误(differently defined or of non-MyISAM type)
2012-02-15 11:35 5600错误代码: Error Code : 1168 Unable ... -
Mysql中索引和UNION ALL的使用
2012-02-14 09:52 1475MYSQL描述: 一个文章库,里面有两个表:categor ... -
mongodb
2012-01-23 12:41 2059mongodb 操作记录 mongod --dbpath & ... -
MongoDB2.0.1 出现严重数据丢失问题
2011-12-15 14:05 1725再插入1000W的数据,既然丢失100W多数据。太夸张了吧。 ... -
SQL注入攻击的种类和防范手段
2011-12-03 10:34 1261观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这 ... -
mysql分表的3种方法
2011-10-21 10:11 854一,先说一下为什么要 ... -
mysql explain 知识一
2011-10-19 14:54 1280前记:很多东西看似简 ... -
libmysqlclient.la
2011-07-17 21:15 1406collect2: ld returned 1 exit st ... -
mysql备份
2011-07-09 02:43 1079备份MySQL数据库的命令 mysqldump -hhost ... -
Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLIC
2011-06-06 17:08 1657今天,在写触发器的时候,添加了一个更新语句,实在想不通。把更新 ... -
mysql explain 笔记整理
2011-06-04 10:16 995explain是用来分析sql语句,帮助优化的一个命令。 e ... -
MySQL: ERROR 13 (HY000): Can't get stat of
2011-04-11 19:42 3208但是将LOAD DATA INFILE 换成 LOAD D ... -
mysql查询占用内存,优化的技巧
2011-01-20 15:18 10913在Apache, PHP, MySQL的体系 ... -
linux mysql 启动失败(Can't create/write to can't create PID file: >Permission denied
2011-01-07 10:42 9873>071117 20:53:26 mysqld st ... -
MySQL触发器更新本表数据异常:Can't update table 'tbl' in stored function/trigger because it
2011-01-07 10:17 7654如果你在触发器里面对刚刚插入的数据进行了 insert/upd ... -
MYSQL 学习参考资料
2011-01-05 23:19 748http://dev.mysql.com/doc/refman ... -
mysql 定时执行
2010-10-15 13:44 1169首先,这个功能只能在5.1.X之上才能用 CREATE T ... -
安装、重装时出现could not start the service mysql error:0的错误或者start service停止不动时
2010-04-02 00:43 3775关于XP安装mysql-5.1.45-win3 ...
相关推荐
"mysql创建表源码.zip"这个压缩包可能包含了一些示例代码或脚本,用于演示如何在MySQL中创建表。下面将详细讨论MySQL创建表的相关知识。 首先,我们需要了解SQL(结构化查询语言),这是与数据库交互的标准语言。在...
mysql创建表 MySQL 创建表是一个基础的数据库操作,它涉及到定义表的结构,包括列名、数据类型、约束等。下面我将详细解释如何在 MySQL 中创建表,并给出一个完整的例子。 • 表名:你想要创建的表的名称。 • ...
mysql创建表**如何在MySQL中创建表:小学生也能掌握的SQL魔法** **内容概要:** 本文为您详细介绍了如何在MySQL中使用SQL语言创建表,旨在帮助初学者掌握基本的SQL知识和数据库操作。内容涵盖MySQL的定义、创建表的...
mysql创建表 mysql创建表项目实例.zipmysql创建表项目实例.zipmysql创建表项目实例.zipmysql创建表项目实例.zipmysql创建表项目实例.zipmysql创建表项目实例.zip
mysql创建表以及表中插入新数据
MySQL创建表4.sql
mysql创建表的sql语句 mysql建表常用sql语句: 连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登录...
mysql创建表、修改表、加索引语句汇总
在MySQL中,创建表是数据库设计的基础步骤,用于定义数据结构并存储数据。本篇文章将详细探讨MySQL中创建表的相关知识。 一、创建数据库 在MySQL中,我们首先需要创建一个数据库来存放我们的数据。可以使用`CREATE ...
以上就是使用C#操作Mysql创建数据库、数据表以及执行CRUD操作的基本步骤。在实际项目中,我们还需要考虑错误处理、事务管理以及优化性能等方面。在源码文件中,可能包含了完整的C#类和方法,展示了这些操作的具体...
完整的`create_table.sh`脚本可能就是这样把创建表的命令包装起来的。 除了Shell脚本,你提供的`create_table_sct_Province.sql`文件可能是一个独立的SQL脚本,专门用于创建特定的`Province`表。这种情况下,你可以...
在MySQL中,创建表是构建数据库结构的基本操作,它允许我们定义数据的存储方式和规则。本篇文章将详细讲解如何在MySQL中创建表,并重点介绍如何添加和查看表的备注。 首先,创建表通常通过使用`CREATE TABLE`语句...
MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...
易语言 mysql建库 建表 易语言 mysql建库 建表 易语言 mysql建库 建表
创建表是数据库管理系统中的重要组成部分,使用 CREATE TABLE 语句可以创建表,语法如下: CREATE TABLE 表名称 ( 列名称 数据类型, 列名称 数据类型, ... ); 例如,创建一个名为 employee 的表: CREATE ...
mysql创建表
MySQL 创建数据表 家庭作业 MySQL 是一个流行的关系型数据库管理系统,创建数据表是 MySQL 中最基本也是最重要的操作之一。本文将介绍如何使用 MySQL 创建数据表,并对创建的表进行基本操作。 创建数据库 在创建...
mysql创建表
存储过程创建日历表,用来与数据库中其他表做联合查询时补全没有数据的表