Ò»Ö±ÒÔΪmysqlËæ»ú²éѯ¼¸ÌõÊý¾Ý£¬¾ÍÓÃ
SELECT
*
from
`
table
`
ORDER
BY
RAND
() LIMIT
5
¾Í¿ÉÒÔÁË¡£
µ«ÊÇÕæÕý²âÊÔһϲŷ¢ÏÖÕâÑùЧÂʷdz£µÍ¡£Ò»¸ö15ÍòÓàÌõµÄ¿â£¬²éѯ5ÌõÊý¾Ý£¬¾ÓȻҪ8ÃëÒÔÉÏ
²é¿´¹Ù·½ÊֲᣬҲ˵rand()·ÅÔÚORDER BY ×Ó¾äÖлᱻִÐжà´Î£¬×ÔȻЧÂʼ°ºÜµÍ¡£
You cannot use a column with RAND() values in an ORDER BY clause,
because ORDER BY would evaluate the column multiple times.
ËÑË÷Google£¬ÍøÉÏ»ù±¾É϶¼ÊDzéѯmax(id) * rand()À´Ëæ»ú»ñÈ¡Êý¾Ý¡£
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Ìõ¼Ç¼¡£½â¾ö°ì·¨Ö»ÄÜÊÇÿ´Î²éѯһÌõ£¬²éѯ5´Î¡£¼´±ãÈç´ËÒ²ÖµµÃ£¬ÒòΪ15ÍòÌõµÄ±í£¬²éѯֻÐèÒª0.0 ......
/*ÑÝʾһ¸öJDBC³ÌÐò£¬´ÓMysqlµÄLMDÊý¾Ý¿âÖжÁ³ö±íadminµÄÒ»¸öÐÅÏ¢*/
import java.sql.*;
public class TestMysqlConnection {
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/LMD?user=root&password=root");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from admin");
  ......
ÒÔϵÄÎÄÕÂÊÇMySQL grantÓï·¨µÄÏêϸ½âÎö£¬Èç¹ûÄã¶ÔMySQL grantÓï·¨µÄÏà¹ØµÄʵ¼Ê²Ù×÷ÓÐÐËȤµÄ»°£¬Äã¾Í¿ÉÒÔ¶ÔÒÔϵÄÎÄÕµã»÷¹Û¿´ÁË¡£ÎÒÃÇ´ó¼Ò¶¼ÖªµÀMySQLÊý¾Ý¿â¸³ÓèÓû§È¨ÏÞÃüÁîµÄ¼òµ¥¸ñʽ¿É¸ÅÀ¨Îª£º
grant ȨÏÞ on Êý¾Ý¿â¶ÔÏó to Óû§
Ò»¡¢grant ÆÕͨÊý¾ÝÓû§£¬²éѯ¡¢²åÈë¡¢¸üС¢É¾³ý Êý¾Ý¿âÖÐËùÓбíÊý¾ÝµÄȨÀû¡£
grant select on testdb.* to common_user@'%';
grant insert on testdb.* to common_user@'%';
grant update on testdb.* to common_user@'%';
grant delete on testdb.* to common_user@'%';
»òÕߣ¬ÓÃÒ»Ìõ MySQL ÃüÁîÀ´Ìæ´ú£º
grant select,insert,update,delete on testdb.* to common_user@'%'
¶þ¡¢grant Êý¾Ý¿â¿ª·¢ÈËÔ±£¬´´½¨±í¡¢Ë÷Òý¡¢ÊÓͼ¡¢´æ´¢¹ý³Ì¡¢º¯Êý¡£¡£¡£µÈȨÏÞ¡£
grant ´´½¨¡¢Ð޸ġ¢É¾³ý MySQL Êý¾Ý±í½á¹¹È¨ÏÞ¡£
grant create on testdb.* to developer@'192.168.0.%';
grant alter on testdb.* to developer@'192.168.0.%';
grant drop on testdb.* to developer@'192.168.0.%';
grant ²Ù×÷ MySQL Íâ¼üȨÏÞ¡£
grant references on testdb.* to developer@'192.168.0.%';
grant ²Ù×÷ MySQL ÁÙʱ±íȨÏÞ¡£
grant create temporary ......
¸ømysql¿ªÒ»¸ö¿ÉÒÔÔ¶³Ì·ÃÎʵÄÓû§ÃüÁîÈçÏÂ:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
"*.*" ±íʾÊý¾Ý¿âÖÐËùÓеıí,Ò²¿ÉÒÔ»»³ÉÖ¸¶¨µÄ±íÈçtest.*
"myuser" ±íʾµÄÊÇ·ÃÎʵÄÓû§Ãû;
"%" ±íʾËùÓеÄÖ÷»ú¼´ÈκεÄÖ÷»ú¶¼¿ÉÒÔͨ¹ýÕâ¸öÓû§Ãû·ÃÎÊÎÒµÄÊý¾Ý¿â,Ò²¿ÉÒԸóÉÌØ¶¨µÄipµØÖ·.Èç"192.168.1.2";
"mypassword" ±íʾµÄ¾ÍÊÇÃÜÂëÁË ......
¾¡¿ÉÄܵØÊ¹ÓÃ×îÓÐЧ(×îС)µÄÀàÐÍ¡£MySQLÓкܶà½ÚÊ¡´ÅÅ̿ռäºÍÄÚ´æµÄרҵ»¯ÀàÐÍ¡£
Èç¹û¿ÉÄÜʹ±í¸üС£¬Ê¹ÓýÏСµÄÕûÊýÀàÐÍ¡£ÀýÈ磬MEDIUMINT¾³£±ÈINTºÃһЩ¡£
Èç¹û¿ÉÄÜ£¬ÉùÃ÷ÁÐΪNOT NULL¡£ËüʹÈκÎÊÂÇé¸ü¿ì¶øÇÒÄãΪÿÁнÚʡһλ¡£×¢ÒâÈç¹ûÔÚÄãµÄÓ¦ÓóÌÐòÖÐÄãȷʵÐèÒªNULL£¬ÄãÓ¦¸ÃºÁÎÞÒÉÎÊʹÓÃËü£¬Ö»ÊDZÜÃâȱʡµØÔÚËùÓÐÁÐÉÏÓÐËü¡£
Èç¹ûÄãûÓÐÈκα䳤ÁÐ(VARCHAR¡¢TEXT»òBLOBÁÐ)£¬Ê¹Óù̶¨³ß´çµÄ¼Ç¼¸ñʽ¡£Õâ±È½Ï¿ìµ«ÊDz»ÐҵؿÉÄÜ»áÀË·ÑһЩ¿Õ¼ä¡£
ÿÕűíÓ¦¸ÃÓо¡¿ÉÄ̵ܶÄÖ÷Ë÷Òý¡£ÕâʹһÐеıæÈÏÈÝÒ×¶øÓÐЧ¡£
¶Ôÿ¸ö±í£¬Äã±ØÐë¾ö¶¨Ê¹ÓÃÄÄÖÖ´æ´¢/Ë÷Òý·½·¨¡£
Ö»´´½¨ÄãȷʵÐèÒªµÄË÷Òý¡£Ë÷Òý¶Ô¼ìË÷Óкô¦µ«Êǵ±ÄãÐèÒª¿ìËÙ´æ´¢¶«Î÷ʱ¾Í±äµÃÔã¸â¡£Èç¹ûÄãÖ÷Ҫͨ¹ýËÑË÷ÁеÄ×éºÏÀ´´æÈ¡Ò»¸ö±í£¬ÒÔËüÃÇ×öÒ»¸öË÷Òý¡£µÚÒ»¸öË÷Òý²¿·ÖÓ¦¸ÃÊÇ×î³£ÓõÄÁС£Èç¹ûÄã×ÜÊÇʹÓÃÐí¶àÁУ¬ÄãÓ¦¸ÃÊ×ÏÈÒÔ¸ü¶àµÄ¸±±¾Ê¹ÓÃÁÐÒÔ»ñµÃ¸üºÃµÄÁÐË÷ÒýѹËõ¡£
Èç¹ûºÜ¿ÉÄÜÒ»¸öË÷ÒýÔÚÍ·¼¸¸ö×Ö·ûÉÏÓÐΨһµÄǰ׺£¬½ö½öË÷Òý¸Ãǰ׺±È½ÏºÃ¡£MySQLÖ§³ÖÔÚÒ»¸ö×Ö·ûÁеÄÒ»²¿·ÖÉϵÄË÷Òý¡£¸ü¶ÌµÄË÷Òý¸ü¿ì£¬²»½öÒòΪËûÃÇÕ¼½ÏÉٵĴÅÅÌ¿Õ¼ä¶øÇÒÒòΪËûÃǽ«ÔÚË÷Òý»º´æÖиøÄã¸ü¶àµÄÃüÖÐÂʲ¢ÇÒÒò´ËÓиüÉÙ´ÅÅÌѰµÀ¡£
ÔÚһЩÇéÐ ......
ÔÚÏò±íÖвåÈëÊý¾ÝµÄʱºò£¬¾³£Óöµ½ÕâÑùµÄÇé¿ö£º1. Ê×ÏÈÅжÏÊý¾ÝÊÇ·ñ´æÔÚ£» 2. Èç¹û²»´æÔÚ£¬Ôò²åÈ룻3.Èç¹û´æÔÚ£¬Ôò¸üС£
ÔÚ SQL Server ÖпÉÒÔÕâÑù´¦Àí£º
if not exists (select 1 from t where id = 1) insert into t(id, update_time) values(1, getdate()) else update t set update_time = getdate() where id = 1
ÄÇô MySQL ÖÐÈçºÎʵÏÖÕâÑùµÄÂ߼Ĩ£¿±ð׿±£¡MySQL ÖÐÓиü¼òµ¥µÄ·½·¨£º replace into
replace into t(id, update_time) values(1, now());
»ò
replace into t(id, update_time) select 1, now();
replace into ¸ú insert ¹¦ÄÜÀàËÆ£¬²»Í¬µãÔÚÓÚ£ºreplace into Ê×Ïȳ¢ÊÔ²åÈëÊý¾Ýµ½±íÖУ¬ 1. Èç¹û·¢ÏÖ±íÖÐÒѾÓдËÐÐÊý¾Ý£¨¸ù¾ÝÖ÷¼ü»òÕßΨһË÷ÒýÅжϣ©ÔòÏÈɾ³ý´ËÐÐÊý¾Ý£¬È»ºó²åÈëеÄÊý¾Ý¡£ 2. ·ñÔò£¬Ö±½Ó²åÈëÐÂÊý¾Ý¡£
ҪעÒâµÄÊÇ£º²åÈëÊý¾ÝµÄ±í±ØÐëÓÐÖ÷¼ü»òÕßÊÇΨһË÷Òý£¡·ñÔòµÄ»°£¬replace into »áÖ±½Ó²åÈëÊý¾Ý£¬Õ⽫µ¼Ö±íÖгöÏÖÖØ¸´µÄÊý¾Ý¡£
MySQL replace into ÓÐÈýÖÖÐÎʽ£º
1. replace into tbl_name(col_name, ...) values(...) 2. replace into tbl_name(col_name, ...) select ... 3. replace into tbl_name set ......