扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
楼主要考虑的不仅仅是标题的需求。
创新互联从2013年开始,先为郊区等服务建站,郊区等地企业,进行企业商务咨询服务。为郊区企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
1、复制数据库里所有的表和数据的目的是什么。
a、假设楼主是要做数据库备份的话,且通过程序来做的话,可以使用程序来执行dos命令
如java:Runtime.getRuntime().exec("e:\\MySQL\\bin\\mysqldump -h localhost -uroot -p123 db_name")
b、假设楼主是要做库与库之间的同步的话,可以使用第三方客户端进行,比如navicat,sqlyong等
c、假设楼主是要做库与库之间的同步且用程序进行的话,可以使用mysql中提供操作数据库的api来做相对应的读取工作和对比工作,然后写入工作
1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时间。其实这二个是一回事,等待的同时,肯定有sql在执行。所以我们要缩短sql的执行时间。
mysql中有一种机制是表锁定和行锁定,为什么要出现这种机制,是为了保证数据的完整 性,我举个例子来说吧,如果有二个sql都要修改同一张表的同一条数据,这个时候怎么办呢,是不是二个sql都可以同时修改这条数据呢?很显然mysql 对这种情况的处理是,一种是表锁定(myisam存储引擎),一个是行锁定(innodb存储引擎)。表锁定表示你们都不能对这张表进行操作,必须等我对 表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行操作。如果数据太多,一次执行的时间太长,等待的时间就越长,这 也是我们为什么要分表的原因。
下面是一个简单的连接MySQL数据库,并操作数据库表的例子:
import java.sql.*;
public class TestMysql {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//创建连接
conn = DriverManager
.getConnection("jdbc:mysql://localhost/bbs?user=用户名password=密码");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from user");
while (rs.next()) {
String user = rs.getString(1);
String password = rs.getString(2);
System.out.println("用户名:" + user + "," +" 密码:" + password );
}
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
当然前提是要把MySQL的连接驱动JAR文件添加到工程里
在cmd命令提示符下输入
mysql -u root -p回车,然后输入密码回车
进入mysql命令行模式
create database databasename;//创建数据库
use databasename;//使用数据库
create table tablename(
id int not null primary key
);
这样就创建了一个只有id字段的tablename表
insert into table1 values(数据) insert into table2 values(数据) insert into table3 values(数据) 一起提交就是多个表同时添加
解决办法:
确定哪个的数据量多。将少的作为附加的数据,导入的时候将主键去掉。或者在基础上统一加offset(偏移量)
比如原来的有10000条 现在的有1000条
那原来的作为主要的内容先倒入,剩下的1000条将ID值增加到自增的ID导入。
具体的SQL语句之类的就不说了 太细节的东西。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流