mysql怎么抽数据库 mysql数据抽取

mysql数据库中随机抽取该分类下的几条数据怎么写?我这里给你一个类似的例子,表结构也就是简单的分类,明细.
要查询每个分类下面,随机明细几条的情况.
你可以参考参考.
测试表与测试数据 。
CREATE TABLE test_order_by_rand (group_code varchar(10), name varchar(10));
INSERT INTO test_order_by_rand VALUES('水果', '苹果');
INSERT INTO test_order_by_rand VALUES('水果', '梨子');
INSERT INTO test_order_by_rand VALUES('水果', '香蕉');
INSERT INTO test_order_by_rand VALUES('水果', '桃子');
INSERT INTO test_order_by_rand VALUES('水果', '菠萝');
INSERT INTO test_order_by_rand VALUES('蔬菜', '萝卜');
INSERT INTO test_order_by_rand VALUES('蔬菜', '白菜');
INSERT INTO test_order_by_rand VALUES('蔬菜', '蘑菇');
INSERT INTO test_order_by_rand VALUES('蔬菜', '毛豆');
INSERT INTO test_order_by_rand VALUES('蔬菜', '青椒');
INSERT INTO test_order_by_rand VALUES('坚果', '核桃');
INSERT INTO test_order_by_rand VALUES('坚果', '榛子');
INSERT INTO test_order_by_rand VALUES('坚果', '杏仁');
INSERT INTO test_order_by_rand VALUES('坚果', '花生');
INSERT INTO test_order_by_rand VALUES('坚果', '开心果');
预期目标, 按照 group_code 进行分组,每个分组内 , 进行随机获取数据.
SELECT
group_code,
name
FROM
(
SELECT
CASE
WHEN @cn != group_code THEN @rownum:= 1
ELSE @rownum:= @rownum1
END AS No,
group_code,
@cn := group_code AS group_code,
name
FROM
(SELECT @rownum:=0) r,
(SELECT @cn:= '') p,
(SELECT * FROM test_order_by_rand order by group_code, rand()) tmp
)subQuery
WHERE
No = 3
ORDER BY
group_code;

这里套了2层子查询,其中的
(SELECT * FROM test_order_by_rand order by group_code, rand()) tmp
用于实现,针对每一个group_code 进行分组, 下属的 name 的数据,进行随机排序
其中的
(......)subQuery
用于实现, 针对 前面的 按 group_code 分组, name 随机排序后的数据 。
模拟一个row_number() over(partition by group_code) 的处理
最后的 No = 3 用于限制,每一个 group_code 下面,显示多少行.
执行结果:
------------ --------
| group_code | name|
------------ --------
| 水果| 苹果|
| 水果| 香蕉|
| 水果| 梨子|
| 蔬菜| 青椒|
| 蔬菜| 白菜|
| 蔬菜| 蘑菇|
| 坚果| 核桃|
| 坚果| 花生|
| 坚果| 开心果 |
------------ --------
9 rows in set (0.00 sec)
怎么提取MYSQL数据库的所有数据到另一个MYSQL数据库可以试着把数据库转储到sql文件mysql怎么抽数据库;然后在另一个地方运行sql文件
mysql数据库 如果数据库中有800万条数据 , 我想随机抽取10000条,要怎么做抽取的更快什么叫抽取的更快?和什么比更快?你现在是怎么做的?
数据库性能是和很多因素有关的:
想要数据库响应的快 , 首先要有好的服务器 。
如果数据库是在远程服务器上,还要有充足和流畅的带宽网络 。
合理安排表的结构,建立索引 。
针对你这个 , 800万条数据如果在一个表里,要有个整数型的ID作为主键 , 并做索引 。如果数据是从不同的表里抽出来再组合起来的 , 表与表之间的链接键尽量用整数型并做索引 。
然后生成10000个随机数,在ID里查找这1万个数字,取出对应的数据 。
处理过程放到数据库端 。
针对你这个,10000个随机数的生成函数用存储过程的形式存在服务器端 。
java连接mysql,并随机抽取数据库中的一些记录并显示出来?package com.joinmysql.demo;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
public class MysqlDemo {
public static void main(String[] args) throws Exception {
Connection conn = null;
String sql;
// MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值
// 避免中文乱码要指定useUnicode和characterEncoding
// 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定,
// 下面语句之前就要先创建javademo数据库
String url = "jdbc:mysql://localhost:3306/test?user=rootpassword=jiangweiuseUnicode=truecharacterEncoding=UTF8";
try {
// 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
// 可以通过Class.forName把它加载进去 , 也可以通过初始化来驱动起来,下面三种形式都可以
Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动
// or:
// com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
// or:
// new com.mysql.jdbc.Driver();
System.out.println("成功加载MySQL驱动程序");
// 一个Connection代表一个数据库连接
conn = DriverManager.getConnection(url);
// Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
Statement stmt = conn.createStatement();
sql = "create table student(NO char(20),name varchar(20),primary key(NO))";
int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功
if (result != -1) {
System.out.println("创建数据表成功");
sql = "insert into student(NO,name) values('2012001','陶伟基')";
result = stmt.executeUpdate(sql);
sql = "insert into student(NO,name) values('2012002','周小俊')";
result = stmt.executeUpdate(sql);
sql = "select * from student";
ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合 , 否则返回空值
System.out.println("学号\t姓名");
while (rs.next()) {
System.out.println(rs.getString(1)"\t"rs.getString(2));// 入如果返回的是int类型可以用getInt()
}
}
} catch (SQLException e) {
System.out.println("MySQL操作错误");
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
conn.close();
}
}
}
mysql怎么导出数据库1、 mysqldump命令备份数据
在MySQL中提供mysql怎么抽数据库了命令行导出数据库数据以及文件mysql怎么抽数据库的一种方便mysql怎么抽数据库的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单mysql怎么抽数据库了解一下mysqldump命令用法:
#MySQLdump常用
mysqldump -u root -p --databases 数据库1 数据库2xxx.sql
2、 mysqldump常用操作实例
2.1备份全部数据库的数据和结构
mysqldump -uroot -p123456 -A/data/mysqlDump/mydb.sql
2.2备份全部数据库的结构(加 -d 参数)
mysqldump -uroot -p123456 -A -d/data/mysqlDump/mydb.sql
2.3 备份全部数据库的数据(加 -t 参数)
mysqldump -uroot -p123456 -A -t/data/mysqlDump/mydb.sql
2.4 备份单个数据库的数据和结构(,数据库名mydb)
mysqldump -uroot-p123456 mydb/data/mysqlDump/mydb.sql
2.5 备份单个数据库的结构
mysqldump -uroot -p123456 mydb -d/data/mysqlDump/mydb.sql
2.6 备份单个数据库的数据
mysqldump -uroot -p123456 mydb -t/data/mysqlDump/mydb.sql2
2.7 备份多个表的数据和结构(数据mysql怎么抽数据库 , 结构的单独备份方法与上同)
mysqldump -uroot -p123456 mydb t1 t2/data/mysqlDump/mydb.sql
2.8 一次备份多个数据库
mysqldump -uroot -p123456 --databases db1 db2/data/mysqlDump/mydb.sql
mysql怎么使用数据库你需要把那个shows.MYD 所在的那个文件夹拷贝到mysql安装目录的data目录下 。
如果你是默认安装,应该在c:\Program Files\MySQL\MySQL Server 5.0\data\
注意是整个shows那些文件所在的目录 。连目录一起拷贝哈 。按你的描述,就应该是data目录了 。将d:\data1\下的data目录拷贝到c:\Program Files\MySQL\MySQL Server 5.0\data\下面 。
完成之后,重启mysql看看,可以运行services.msc 在里面找到mysql 重新启动mysql 。(前提是你安装的时候配置了mysql服务,我想你应该配置了吧)
重启之后 进入命令行,
然后mysql -uroot -p 进入mysql
show databases;
看看能不能看到一个叫data数据库 。
如果能看到,恭喜你 , 继续下面的命令 。如果不行,看后面的方法B 。
use data
alter table shows add 列名 类型 长度 等等
举例:
增加一个int型名为id的列
alter table shows add id int(11) not null default '0';
alter table shows add name varchar(32) not null default '';
如果需要指定列的位置,假如加入的列在number列后面 。那么
alter table shows add id int(11) not null default '0' after number;
方法B 。
如果按之前说的文件拷贝方式,重启进入mysql后看不到data 这个数据库,那么可能是你们的mysql版本不一致造成的,应该说这个可能性很大 。
那么,你让你朋友给你导出数据库内容 。用mysqldump命令 。
mysqldump -uroot -p -D 数据库名.表名sss.sql
你拿到这个sss.sql后 再把它导入到你的mysql数据库 。
在cmd下运行
mysql -uroot -p testsss.sql
或者
在mysql命令行下运行
use test
source sss.sql
这样shows表就导入到你的test数据库了 。
剩下的就简单了哈 。和前面没啥差别 。
use test
alter 命令
怎样,按这个方法,一切搞定 。
【mysql怎么抽数据库 mysql数据抽取】关于mysql怎么抽数据库和mysql数据抽取的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读