Time of Update: 2018-12-08
Window下可以使用Bat批次檔來對MySql進行備份操作,備份時一般資料量較大的情況可以使用複製檔案的方式,但是這種方式要求伺服器停機或者停止寫入命令,不大使用。如果資料不大,推薦使用mysqldump命令來備份資料庫檔案為sql檔案。使用方法為mysqldump –uroot –ppassword dbname > db_date.sql。編寫bat檔案,使用window的任務計劃來定時執行bat檔案就可以實現MySql資料庫的定時備份。Bat檔案如下: 複製代碼
Time of Update: 2018-12-08
1. 為了測試觸發器和預存程序,首先建立一張簡單的表: 複製代碼 代碼如下:CREATE TABLE `airuser` ( `userId` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(128) NOT NULL, PRIMARY KEY (`userId`) )ENGINE=InnoDB DEFAULT CHARSET=utf8 2. 為該表的插入操作,建立一張記錄表: 複製代碼 代碼如下:CREATE TABLE
Time of Update: 2018-12-08
今天在centos6.2下面源碼編譯安裝mysql的時,在編譯mysql的時候報了一個蛋蛋的錯誤: 複製代碼 代碼如下:[root@vps870 mysql-5.5.28]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ > -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ > -DDEFAULT_CHARSET=gbk \ > -DDEFAULT_COLLATION=gbk_chinese_ci \
Time of Update: 2018-12-08
1 MySQL中如何?以下SQL查詢 (SELECT S.Name FROM STUDENT S, TRANSCRIPT T WHERE S.StudId = T.StudId AND T.CrsCode = 'CS305') INTERSECT (SELECT S.Name FROM STUDENT S, TRANSCRIPT T WHERE S.StudId = T.StudId AND T.CrsCode = 'CS315') 請各位不吝賜教,小弟先謝過~ 解: 取交集 select a.
Time of Update: 2018-12-08
相信每個項目都會有使用者反饋建議等功能,這個實現的方法很多,下面是我實現的方法,供大家交流。首先看具體介面,三個欄位。名字,郵箱為選填,可以為空白,建議不可為空。如有需要可以給我留言。 下面貼出布局代碼,這裡用到一個<include layout="@layout/uphead">就是把另外一個布局檔案引入到這個布局中。 複製代碼 代碼如下:<?xml version="1.0" encoding="utf-8"?> <LinearLayout
Time of Update: 2018-12-08
在mysql的安裝目錄下 找到 my.ini檔案 加入以下代碼:interactive_timeout = 120wait_timeout = 120max_allowed_packet = 32M======================================小例子mytest_emp_dept.sql檔案,內容如下:CREATE TABLE emp(eid INT PRIMARY KEY AUTO_INCREMENT, ename VARCHAR(20) NOT NULL,
Time of Update: 2018-12-08
建立2張使用者表user、user2,表結構相同,但user表使用InnoDB儲存引擎,而user2表則使用 MyISAM儲存引擎。 複製代碼 代碼如下:-- Table "user" DDL CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `email` varchar(100) DEFAULT NULL, `age` tinyint(4) DEFAULT
Time of Update: 2018-12-08
以前一直都認為有兩個位元組來記錄長度(長度小也可以用一個位元組記錄),所以這個問題當時覺得就挺無聊的 不過後來群裡有人給瞭解釋,突然才發現原來事情不是這麼簡單 MYSQL COMPACT格式,每條記錄有一個位元組來表示NULL欄位分布,如果表中有欄位允許為空白,則最大隻能定到65532,如果沒有欄位允許為空白,則那個位元組可以節省,最大可以定義到65533,不知道是不是這個原因 於是上網看了些資料,又在本地做了些實驗,原來vachar的最大長度真的是不定的(根據是否有非空欄位來決定)
Time of Update: 2018-12-08
系統:Centos6.0 32位 一、安裝mysql #yum -y install mysql mysql-server mysql-devel 配置mysql開機啟動服務 #chkconfig --add mysqld (在服務資訊清單中添加mysql服務) #chkconfig mysqld on (設定mysql服務隨開機啟動) #service mysqld start (啟動mysql服務) 二、安裝PHP #yum -y install php #service httpd
Time of Update: 2018-12-08
我們的要求是,把地址欄位的中國去掉,並跟據地址欄位來設定所屬省份的(province_id) 欄位。 第一、替找字串,我們可以用mysql裡的replace 這個用法,本博也有提到。詳見:http://www.jb51.net/article/31374.htm好我們把 "中國" 這個字元給去掉。 update table set address = replace(address ,'中國','') 第二、要根據地址欄位的開頭字元並更新province_id欄位、SQL語句如下 UPDATE
Time of Update: 2018-12-08
複製代碼 代碼如下:#建立觸發器,當往order表中添加記錄是,更新goods表 delimiter $ CREATE TRIGGER trigger1 AFTER INSERT ON `order` FOR EACH ROW BEGIN UPDATE goods SET num=num-new.much WHERE id=new.gid; END$ 執行 INSERT INTO `order` (gid,much) VALUES(1,5) 後 SELECT * FROM goods
Time of Update: 2018-12-08
ON 子句與 WHERE 子句的不同 一種更好地理解帶有 WHERE ... IS NULL 子句的複雜匹配條件的簡單方法 Matching-Conditions 與 Where-conditions 的不同關於 “A LEFT JOIN B ON 條件運算式” 的一點提醒ON 條件(“A LEFT JOIN B ON 條件運算式”中的ON)用來決定如何從 B 表中檢索資料行。如果 B 表中沒有任何一行資料匹配 ON 的條件,將會額外產生一行所有列為 NULL 的資料在匹配階段
Time of Update: 2018-12-08
我們知道,暫存資料表有以下特性: 1. SESSION 層級,SESSION 一旦斷掉,就被自動DROP 了。 2. 和預設引擎有關。如果預設引擎是INNODB,而你又瘋狂的使用暫存資料表。那麼,你的IBDATA會被無限的增大。 3. 和磁碟表一樣,預設寫入到binlog, 而且被動的加入了rollback 計劃。 幻想如下情境: 資料庫損壞,也沒有備份。剛好二進位日誌全部儲存完好,幸福了。匯入二進位日誌到MYSQL。 有兩種方法: 1) mysqlbinlog ..... *.log |
Time of Update: 2018-12-08
在window下,啟動、停止mysql服務 啟動mysql資料庫 net start mysql 停止mysql資料庫 net stop mysql 重新啟動mysql資料庫 net restart mysql 命令列形式,mysql基本命令的使用 1、命令的取消 \c 2、退出mysql視窗 exit;或quit;或ctrl+c 3、查看資料庫版本號碼 select version(); 4、顯示當前存在的資料庫 show databases; 5、選擇test資料庫 use test; 6、
Time of Update: 2018-12-08
寫過PHP+MySQL的程式員都知道有時間差,UNIX時間戳記和格式化日期是我們常打交道的兩個時間表示形式,Unix時間戳記儲存、處理方便,但是不直觀,格式化日期直觀,但是處理起來不如Unix時間戳記那麼自如,所以有的時候需要互相轉換,下面給出互相轉換的幾種轉換方式。 一、在MySQL中完成 這種方式在MySQL查詢語句中轉換,優點是不佔用PHP解析器的解析時間,速度快,缺點是只能用在資料庫查詢中,有局限性。 1. UNIX時間戳記轉換為日期用函數: FROM_UNIXTIME()
Time of Update: 2018-12-08
將ubk_vhost_list表中的欄位userid中的字元10005替換成10010 UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str') WHERE `field_name` LIKE '%from_str%' 說明: table_name —— 表的名字 field_name —— 欄位名 from_str —— 需要替換的字串 to_str —— 替換成的字串
Time of Update: 2018-12-08
MySQLdb預設查詢結果都是返回tuple,輸出時候不是很方便,必須按照0,1這樣讀取,無意中在網上找到簡單的修改方法,就是傳遞一個cursors.DictCursor就行。 預設程式: MySQLdb預設查詢結果都是返回tuple,輸出時候不是很方便,必須按照0,1這樣讀取,無意中在網上找到簡單的修改方法,就是傳遞一個cursors.DictCursor就行。預設程式: 複製代碼 代碼如下:import MySQLdb db = MySQLdb.connect(host =
Time of Update: 2018-12-08
當然,5.6的GUID功能的出現也帶來了multi-master的無限可能,不過這個已經是題外話了。 本文主要介紹一種非即時的適用於各版本MySQL的multi-master方法。 內容簡介: 最初的思路來源於一位國外DBA的blog : http://thenoyes.com/littlenoise/?p=117 基本原理就是通過SP記錄當前 master-log的name和pos記錄到表中,然後讀取下一個master記錄,執行stop slave / change master /
Time of Update: 2018-12-08
1. 計算年數 你想通過生日來計算這個人有幾歲了。 複製代碼 代碼如下:SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) - TO_DAYS(@dateofbirth)), '%Y') + 0; 2. 兩個時間的差 取得兩個 datetime 值的差。假設 dt1 和 dt2 是 datetime 類型,其格式為 ‘yyyy-mm-dd hh:mm:ss',那麼它們之間所差的秒數為: UNIX_TIMESTAMP( dt2 ) -
Time of Update: 2018-12-08
用Vps什麼事都要自己費心,備份也是。像Linode裡的備份服務是要收費的,一個月是5美元。與其花這5美元,不如自己豐衣足食。為服務安裝上了Dropbox,設定為每天4:00-6:00 開啟同步服務。在之前運行兩個指令碼,自動備份web檔案夾和mysql資料庫。 兩個指令碼都是備份檔案到/root/Dropbox/backup目錄裡,並自動刪除10天前的備份。web備份是每周行一次,刪除30天前的備份。 一、備份WEB檔案夾 1、備份/home/users/public_html目錄