第一、如果是隨機去除,可以:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了東豐免費建站歡迎大家使用!
1、取出表總條數(shù)n
2、在應(yīng)用程序中生成n個隨機數(shù)(區(qū)間在0到n-1)
3、去數(shù)據(jù)庫中把這些記錄取出來
第二、用優(yōu)化mysql查詢語句的方法
網(wǎng)上基本上都是查詢max(id) * rand()來隨機獲取數(shù)據(jù)。
SELECT *
FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `table`)) AS id) AS t2
WHERE t1.id = t2.id
ORDER BY t1.id ASC LIMIT 5;
但是這樣獲得的是5條連續(xù)的記錄,解決辦法只能是每次查詢一條,查詢5次。
讀取數(shù)據(jù)庫,首先要將數(shù)據(jù)庫的驅(qū)動包導(dǎo)入:如果是mysql數(shù)據(jù)庫,需要導(dǎo)入mysql-connector-java-5.1.27.jar,如果是oracle就需要導(dǎo)入oracle.jar包;
然后就是建立數(shù)據(jù)庫連接,使用Connection 新建連接,然后執(zhí)行你的sql語句查詢出需要的數(shù)據(jù),下面是兩個方法: public PageModel findAllUser(int pageNo,int pageSize){String sql = "select * from user where user_name 'root' order by user_name" +"limit" + (pageNo - 1) * pageSize + "," + pageSize;PageModel pageModel =null;Connection conn =null;Statement stmt =null;ResultSet rs = null;try{conn = DB.getConn();stmt = conn.createStatement();rs = stmt.executeQuery(sql);List user_List = new ArrayList();while(rs.next()){User user = new User();user.setUser_name(rs.getString("user_name"));user.setUser_password(rs.getString("user_password"));user.setUser_tel(rs.getString("user_tel"));user.setUser_email(rs.getString("user_email"));user.setUser_createDate(rs.getTimestamp("user_createdate"));user_List.add(user);}//取得所有記錄int totalRecords = getTotalRecords(conn);pageModel = new PageModel();pageModel.setPageSize(pageSize);pageModel.setList(user_List);pageModel.setTotalRecord(totalRecords);}catch(SQLException e){e.printStackTrace();}finally{DB.close(rs);DB.close(stmt);DB.close(conn);}return pageModel;} /** * 取得所有記錄 * @param conn * @return 所有記錄totalRecords */public int getTotalRecords(Connection conn){String sql = "select count(*) from user where user_name 'root' ";int totalRecords = 0;Statement stmt = null;ResultSet rs = null;try{conn = DB.getConn();stmt = conn.createStatement();rs = stmt.executeQuery(sql);if(rs.next()){totalRecords = rs.getInt(1);}}catch(SQLException e){e.printStackTrace();}finally{DB.close(rs);DB.close(stmt);DB.close(conn);}return totalRecords;}
SELECT?*?FROM?表?LIMIT?0, 10
LIMIT?接受一個或兩個數(shù)字參數(shù)
參數(shù)必須是一個整數(shù)常量
如果給定兩個參數(shù),第一個參數(shù)指定第一個返回記錄行的偏移量
第二個參數(shù)指定返回記錄行的最大數(shù)目
初始記錄行的偏移量是 0(而不是1
擴展資料:
mysql中的一些命令
1、顯示數(shù)據(jù)庫列表
show databases
剛開始時才兩個數(shù)據(jù)庫:mysql 和 test。mysql 庫很重要它里面有 MySQL 的系統(tǒng)信息,我們改密碼和新增用戶,實際上就是用這個庫進行操作
2、顯示庫中的數(shù)據(jù)表
use mysql; //打開庫
show tables
3、顯示數(shù)據(jù)表的結(jié)構(gòu)
describe 表名
4、建庫
create database 庫名
參考資料來源:百度百科-mySQL (關(guān)系型數(shù)據(jù)庫管理系統(tǒng))
怎么獲取到mysql表格里面的數(shù)據(jù)
可以通過查詢系統(tǒng)表來獲取。
1、打開Navicat for Mysql,登錄到指定數(shù)據(jù)庫下。
2、新建查詢。
3、輸入以下語句:
1
select column_name from information_schema.COLUMNS where table_name='表名'