Time of Update: 2017-01-13
# 聯集查詢回複數 代碼如下複製代碼 SELECT ask.id, count( answer.father_id ) , ask.answer_numFROM `表名_ask` AS askLEFT JOIN `表名_answer` AS answer ON ask.id = answer.father_idGROUP BY answer.father_idORDER BY ask.id ASC # 修改城市ID 代碼如下複製代碼 UPDATE 表名_
Time of Update: 2017-01-13
今天去蘇州的一家網路建設公司面試,老闆給了我一道題目:php中如何從資料表products中隨機取出一條資料?當然最後我的一段代碼有錯誤的,並不是真正意義上的隨機取資料。回到家,趕快百度,這才知道了如何隨機取資料..其餘代碼不多說,這裡就告訴你這句核心尋找資料表代碼: 代碼如下複製代碼 select * from 表名 order by rand( ) limit 1; //此處的1就是取出資料的條數
Time of Update: 2017-01-13
今天在做一個微信牆的抽獎程式的時候遇到了一個問題,我需要查詢量表的差集,業務情形是這樣的一個表用來儲存抽獎使用者的(www.111cn.net 一個人可能會有多條資料),而另一張表儲存的是中獎的使用者,我需要報麼有中獎的所用使用者尋找出來,剛開始用的是where進行多表關聯查詢,但是最終發現當中獎表中麼有資料的時候是尋找不到任何資訊的,改用LEFT JOIN 用這個就很簡單了, 代碼如下複製代碼 DESC SELECT * FROM
Time of Update: 2017-01-13
sql內聯文法基礎文法(inner join) SELECT * FROM 表1 inner join 表2 on 表1.userid=表2.userid sql內聯文法說明:上面的語句就是查詢表1和表2兩個表,只要兩個表中的userid欄位相同的話就拼成一行顯示出來。 註:以上文法同等select * from 表1,表2 where 表1.userid=表2.userid,而使用sql內聯的話,將會提高很多效率。sql左聯文法基礎文法(left outer join) SELECT
Time of Update: 2017-01-13
最新在研究SQL手動注入,拿了個網站開刷。首先是找到帶有SQL注入點,就去Google隨便找了個inurl:php?id=http://rsc.xxxx.jx.cn/public/dongtai/news.php?id=228 改連結就存在SQL注入點。第一步,進行注入測試。 最簡單的方法就是 在連結後邊加上 and 1=1 和 and 1=2 如果在and 1=2 顯示頁面不正常,而在and 1=2下顯示正常,則證明 該連結存在注入點。其原理是:一般查詢的語句為select *
Time of Update: 2017-01-13
只能說我菜,在網上找了下沒發現誰解釋過他們四個的區別,那就只能自己來了。下面是通過mysql用戶端查看到的協助資訊,直接貼解釋吧。user:Returns the current MySQL username and hostname as a string in the utf8 character set.system_user:SYSTEM_USER() is a synonym for USER().session_user:SESSION_USER() is a synonym
Time of Update: 2017-01-13
binlog日誌用於記錄所有更新了資料或者已經潛在更新了資料的所有語句。語句以“事件”的形式儲存,它描述資料更改。當我們因為某種原因導致資料庫出現故障時,就可以利用binlog日誌來挽回(前提是已經配置好了binlog),接下來我們來配置一、開啟mysql-binlog日誌在mysql設定檔my.cnf加上如下配置 代碼如下複製代碼 [mysqld]log-bin=mysql-bin 重啟mysql 代碼如下複製代碼
Time of Update: 2017-01-13
索引,可以說是資料庫相關最佳化尤其是在Query 最佳化中最常用的最佳化手段之一了,雖然如此,但索引也並非是解決query最佳化的聖經,不能只要發現Query 運行不夠快就將where子句中的條件全部放在索引中。什麼事都是適而可止,過猶不及,一起來看過究竟吧。索引的利處索引能夠提高資料檢索的效率,降低資料庫的IO 成本和排序成本。在資料庫中個表的某個欄位建立索引,所帶來的最大益處就是將該欄位作為檢索條件的時候
Time of Update: 2017-01-13
為了實現MYSQL資料庫的冗災、備份、恢複、負載平衡等功能,喻名堂這兩天一直在學習和研究mysql的雙機熱備,其實MYSQL的雙機熱備就是使用MYSQL同步功能兩種方式裡面的“主-主”同步方式實現的。在一開始搜尋資料進行配置時沒有注意版本的問題,所以試了很多次都沒有成功,後來才知道搜尋的方法不對,結果搜尋出來的資料都是老版本的,最後通過搜尋對應的版本號碼再根據資料終於配置成功,現將不同版本的雙機熱備的配置方法進行整理並分享出來方便其他想配置MYSQL雙機熱備的朋友能一次成
Time of Update: 2017-01-13
測試例子,我在phpmyadmin中登入我本地的mysql資料庫,預設使用者名密碼為root,root但我嘗試輸入root,密碼為www.111cn.net出現如下錯誤提醒.如下圖所示提醒:#1045 無法登入 MySQL 伺服器 好我現在再使用mysqladmin來串連mysql資料庫同樣輸入錯誤密碼mysqladmin: connect to server at 'localhost' failederror: 'Access denied for
Time of Update: 2017-01-13
錯誤串連Warning: mysql_connect() [function.mysql-connect]: [2002]這時應當修改hostname,例如在CI 設定資料庫 (database.php) 從: $db['default']['hostname'] = 'localhost'; 到:$db['default']['hostname'] = 'localhost:/Applications/mamp/mysql/tmp/mysql.sock';Drupal
Time of Update: 2017-01-13
mysql預設只允許本地登入,以下操作可使使用者擁有遠程許可權,以root使用者為例。命令狀態下一、允許使用者在任意IP登入,並擁有所有資料庫的所有許可權:GRANT ALL PRIVILEGES ON *.* TO “root”@”%” IDENTIFIED BY “password” WITH GRANT OPTION;二、允許使用者在指定IP登入,並擁有所有資料庫的所有許可權:GRANT ALL PRIVILEGES
Time of Update: 2017-01-13
mysql轉變時間戳記,直接讓mysql語句顯示的時候顯示時間或者時間戳記形式。將時間轉換為時間戳記 代碼如下 複製代碼 select unix_timestamp(’2014-1-1 00:00:00′)
Time of Update: 2017-01-13
利用mysql命令查看MySQL 內建直接看 status 就可以看到系統常見訊息, 如下述範例: 代碼如下複製代碼 1.$ mysql -u root -p2.mysql> s“Threads: 2 Questions: 224857636 Slow queries: 229 Opens: 1740 Flush tables: 1 Open tables: 735 Queries
Time of Update: 2017-01-13
下面我們瞭解一下MySQL最佳化的一些基礎,MySQL的最佳化我分為兩個部分,一是伺服器物理硬體的最佳化,二是MySQL自身(my.cnf)的最佳化。一、伺服器硬體對MySQL效能的影響① 磁碟尋道能力(磁碟I/O),以目前高轉速SCSI硬碟(7200轉/秒)為例,這種硬碟理論上每秒尋道7200次,這是物理特性決定的,沒有辦法改變。 MySQL每秒鐘都在進行大量、複雜的查詢操作,對磁碟的讀寫量可想而知。所以,通常認為磁碟I/O是制約MySQL效能的最大因素之一,對於日均訪問量 在10
Time of Update: 2017-01-13
一、慢查詢日誌 配置開啟慢查詢日誌 , 配置範例:/etc/mysql/my.cnf[mysqld]log-slow-queries在 my.cnf 設定檔中增加上述配置項並重啟 mysql 服務,這時 mysql 慢查詢功能生效。慢查詢 日誌將寫入參數 DATADIR (資料目錄:/var/lib/mysql)指定的路徑下,預設檔案名稱是 host_name-slow.log 。和錯誤記錄檔、查詢日誌一樣,慢查詢日誌記錄的格式也是純文字,可以被直接讀取。下例中示範了慢查詢日誌的設定和讀取過程。
Time of Update: 2017-01-13
查看從庫的狀態:mysql>show slave statusG;其中Slave_IO_Running:Yes 表明同步IO是否在運行;Slave_SQL_Running:Yes 表明同步SQL是否在運行;Last_Error表明上次出錯的內容。今天碰到一條出錯的SQL,內容如下:Last_Error: Error ‘Duplicate entry ’14772680-15′ for key ‘PRIMARY” on query.
Time of Update: 2017-01-13
資料庫主從複製原理:資料庫的主從複製就是從master資料庫複寫到slave資料庫,在master與slave之間實現整個複製需要三個線程來完成,其中兩個在slave端一個在master端。在master端必須開啟binlog功能,因為從資料庫需要獲得主要資料的完整的動作記錄然後再自身上順序的執行日誌中的各種操作。主要步驟:1、將slave的io線程連上master,請求獲得指定記錄檔的指定位置之後的動作記錄的內容;2、master獲得slave的io線程請求後,將請求中讀取到的指定日誌的指定位
Time of Update: 2017-01-13
在從伺服器上執行show slave status;可以查看到很多同步的參數,我們需要特別注意的參數如下:Master_Log_File:
Time of Update: 2017-01-13
thread_cache_size查詢進程使用方式 代碼如下複製代碼 mysql> show global status like ‘Thread%’;+——————-+———-+| Variable_name | Value