Time of Update: 2017-01-19
先來看段mysql查詢文章回複語句:複製代碼 代碼如下:#查詢文章回複-- ------------------------------ Procedure structure for `sp_select_reply_article`-- ----------------------------DROP PROCEDURE IF EXISTS `sp_select_reply_article`;DELIMITER ;;CREATE DEFINER=`root`@`localhost`
Time of Update: 2017-01-19
這一期主要是學習MYSQL的基本文法,陸續還會有續期的文章,敬請期待文法的差異我這裡主要說文法的不同1、預設約束區別:mysql裡面DEFAULT關鍵字後面是不用加括弧的複製代碼 代碼如下:--sqlserverCREATE TABLE emp(id INT DEFAULT(12))--mysqlCREATE TABLE emp(id INT DEFAULT
Time of Update: 2017-01-19
mysql資料庫儲存引擎為MyISAM的時候,在大訪問量的情況下資料表有可能會出現被鎖的情況,這就會導致使用者串連網站時逾時而返回502,此時就需要MySQL資料庫MyISAM儲存引擎轉為Innodb。步驟如下:1、匯出CentOS資料庫的表結構複製代碼 代碼如下:mysqldump -d -uxxx -p centos > centos_table.sql其中-d參數表示不匯出資料,只匯出表結構2、替換centos_table.sql裡的MyISAM為INNODB複製代碼
Time of Update: 2017-01-19
圖片,檔案,位元據永遠不要放到mysql資料庫裡。很多人會覺得既然資料庫支援BLOB類型的資料,把檔案塞進BLOB欄位裡一定沒有錯了!?錯,不是這樣的! 別的先不提,在很多資料庫語言裡,處理大欄位都不是很容易。把檔案存放在資料庫裡有很多問題:1.對資料庫的讀/寫的速度永遠都趕不上檔案系統處理的速度2.Database
Time of Update: 2017-01-19
通常來說,更新mysql配置my.cnf需要重啟mysql才會生效,但是有些時候mysql線上上,不一定允許你重啟,這時候應該怎麼辦呢?看一個例子:mysql> show variables like 'log_slave_updates';+-------------------+-------+| Variable_name | Value |+-------------------+-------+|
Time of Update: 2017-01-19
交易處理在各種管理系統中都有著廣泛的應用,比如人員管理系統,很多同步資料庫操作大都需要用到交易處理。比如說,在人員管理系統中,你刪除一個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的資訊,如信箱,文章等等,這樣,這些資料庫動作陳述式就構成一個事務!刪除的SQL語句delete from userinfo where ~~~delete from mail where ~~delete from article
Time of Update: 2017-01-19
之前伺服器上配置測試用的服務環境,我偷懶順手用網上現成的指令碼進行安裝,結果MySQL啟動不了,於是我只有老老實實的重新安裝MySQL Server,原本以為apt-get --purge這類命令可以很好的幫我解決這個問題,於是我通過下面的命令重新安裝:複製代碼 代碼如下:sudo apt-get --purge remove mysql-serversudo apt-get install
Time of Update: 2017-01-19
環境:os:linux(bt5) database:mysql 簡述:通過自訂庫函數來實現執行任意的程式,這裡只在linux下測試通過,具體到windows,所用的dll自然不同。 要求: 在mysql庫下必須有func表,並且在‑‑skip‑grant‑tables開啟的情況下,UDF會被禁止; 過程: 得到外掛程式庫路徑 找對應作業系統的udf庫檔案
Time of Update: 2017-01-19
ERROR 1665 (HY000)【環境描述】msyql5.6.14【報錯資訊】執行SQL語句的時候報錯:ERROR 1665 (HY000): Cannot executestatement: impossible to write to binary log since BINLOG_FORMAT = STATEMENTand at least one table uses a storage engine limited to row-based logging.InnoDB is
Time of Update: 2017-01-19
有過MySQL營運的人應該都清楚,線上的MySQL一般都採用源碼編譯,因為這樣才可以根據企業的各自需要選擇要編譯的功能,雖然MySQL的源碼編譯挺簡單的,但是試想一下,如果你有幾百台伺服器同時要安裝MySQL,難道你還一台台去手動編譯、編寫設定檔嗎?這顯然太低效了,本文討論MySQL的自動化安裝部署。1、製作符合自己需求的RPM包我們要根據MySQL的源碼編譯符合企業需求的RPM包,源碼擷取命令如下:wget
Time of Update: 2017-01-19
建立mysql使用者 [root@xuhost opt]# useradd -g mysql mysql3307 -s /bin/nologin -d /usr/local/mysql3307 建立資料目錄 [root@xuhost opt]# mkdir /mysqldata/dirdata/mysql3307 [root@xuhost opt]# chown mysql.mysql -R /mysqldata/dirdata/mysql3307安裝 cmake[root@xuhost
Time of Update: 2017-01-19
21分鐘 MySQL 入門教程目錄 一、MySQL的相關概念介紹 二、Windows下MySQL的配置 配置步驟 MySQL服務的啟動、停止與卸載 三、MySQL指令碼的基本組成 四、MySQL中的資料類型 五、使用MySQL資料庫 登入到MySQL 建立一個資料庫 選擇所要操作的資料庫 建立資料庫表 六、操作MySQL資料庫 向表中插入資料 查詢表中的資料 更新表中的資料 刪除表中的資料
Time of Update: 2017-01-19
定期分析表ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name]本語句用於分析和儲存表的關鍵字分布。在分析期間,使用一個讀取鎖定對錶進行鎖定。這對於MyISAM, BDB和InnoDB表有作用。對於MyISAM表,本語句與使用myisamchk -a相當。MySQL使用已儲存的關鍵字分布來決定,當您對除常數以外的對象執行聯合時,表按什麼順序進行聯合。mysql> analyze table a;+--------+-
Time of Update: 2017-01-19
客服那邊需要我對一些酒店進行中文拼音排序,以前沒有接觸過,在php群裡問了一些大牛。。得到了2種答案,都可以。哈哈·~以下既是msyql 例子,表結構是utf-8的方法一、複製代碼 代碼如下:SELECT `hotel_name`FROM `hotel_base`ORDER BY convert( `hotel_name`USING gbk )COLLATE gbk_chinese_ci方法二、複製代碼 代碼如下:SELECT `hotel_id` , `hotel_name` , ELT(
Time of Update: 2017-01-19
我們知道當插入多條資料的時候insert支援多條語句:複製代碼 代碼如下:INSERT INTO t_member (id, name, email) VALUES (1, 'nick', 'nick@126.com'), (4, 'angel','angel@163.com'), (7,
Time of Update: 2017-01-19
有不少開發人員在操作MySQL資料庫的時候都遇到過誤操作的情況,例如更新資料庫的時候update語句忘記加上where條件,就會造成極為悲劇的結果。本文就針對防止MySQL資料庫誤操作的方法做出如下詳解:1、mysql協助說明# mysql --help|grep dummy -U, --i-am-a-dummy Synonym for option --safe-updates, -U. i-am-a-dummy
Time of Update: 2017-01-19
工作中遇到一個問題:要更新一個資料表。這個表是我自己建立的,有7個欄位,id、name、package等等建立的時候,因為我把name、package的資訊分別存在兩個文字檔中,所以我就用Insert方法,一次性將所有的name插入資料庫中。name全部匯入資料庫中了,但是我的package沒有匯入,這時我仍然想用insert的方法插入,但是不行。這時候應該利用update的方法。一次更新多條資訊的思路如下:UPDATE table_name SET field_name = CASE
Time of Update: 2017-01-19
1)啟動:sudo /etc/init.d/mysql start2)停止:sudo /etc/init.d/mysql stop3)重啟:sudo /etc/init.d/mysql restart4)查看日誌:cat /var/log/mysql.errcat /var/log/mysql/error.log5)不支援中文修改 /etc/mysql/my.cnf在 [client] 下面增加:default-character-set=utf8 或 character_set_server=
Time of Update: 2017-01-19
在伺服器上安裝好mysql之後,一般都需要做下面幾件事情:1. 啟動mysql server2. 設定root使用者和添加一些訪問使用者3. 設定使用者權限4. 配置非本地串連訪問5. 備份資料或者遷移資料6. 一些注意事項(不斷更新)一、啟動mysql server通常情況下,我們使用的啟動命令是:複製代碼 代碼如下:service mysqld start常見的一個問題就是拋:Timeout error occurred trying to start MySQL
Time of Update: 2017-01-19
mysql遊標使用的整個過程為:1.建立遊標複製代碼 代碼如下:DECLARE calc_bonus CURSOR FOR SELECT id, salary, commission FROM employees;2.開啟遊標複製代碼 代碼如下:OPEN calc_bonus;3.使用遊標複製代碼 代碼如下:FETCH calc_bonus INTO re_id, re_salary, re_comm;4.關閉遊標複製代碼 代碼如下:CLOSE