Time of Update: 2018-12-08
PHP對中文字串的處理一直困擾於剛剛接觸PHP開發的新手程式員。下面簡要的剖析一下PHP對中文字串長度的處理: PHP內建的函數如strlen()、mb_strlen()都是通過計算字串所佔位元組數來統計字串長度的,一個英文字元佔1位元組。例: $enStr = 'Hello,China!'; echo strlen($enStr); // 輸出:12
Time of Update: 2018-12-08
php中常通過下面的代碼,得到判定日期的sql查詢語句複製代碼 代碼如下:$now = time(); //擷取當期的日期 $sql="select * from `team` where end_time>$now ORDER BY sort_order limit 0,4";
Time of Update: 2018-12-08
環境 : Debian 6.02 (squeeze) x64 軟體:MySQL 5.5.14 步驟: 1、升級系統 #apt-get update #apt-get upgrade #apt-get install chkconfig libpcre3-dev build-essential libssl-dev libncurses5-dev bison 2、準備軟體 cmake-2.8.5、mysql 5.5.14 #wget http://www.cmake.org/files/v2.8/
Time of Update: 2018-12-08
MySQL從4.1版本開始才提出字元集的概念,所以對於MySQL4.0及其以下的版本,他們的字元集都是Latin1的,所以有時候需要對mysql的字元集進行一下轉換,MySQL版本的升級、降級,特別是升級MySQL的版本,為了不讓程式繼續沿用Latin1字元集之後對以後Discuz!版本升級的影響和安裝SupeSite,這就需要我們進行字元集的轉換! 本人轉換過好多資料了,也用過了好多的辦法,個人感覺最好用的就是使用MySQL命令匯出匯入中將字元集轉換過去!
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php error_reporting(0); session_start(); //資料庫連接 $conn = mysql_connect('localhost', 'root', ''); mysql_select_db('chenkun', $conn); mysql_query('SET NAMES UTF-8'); //定義常量 define('ALL_PS', 'PHP'); function user_shell($uid, $shell,
Time of Update: 2018-12-08
出現的問題(多主自增長ID重複) 1:首先我們通過A,B的test表結構 2:掉A,在B上對資料表test(存在自增長ID)執行插入操作,返回插入ID為1 3:後停掉B,在A上對資料表test(存在自增長ID)執行插入操作,返回的插入ID也是1 4:然後 我們同時啟動A,B,就會出現主鍵ID重複 解決方案: 我們只要保證兩台伺服器上插入的自增長資料不同就可以了 如:A查奇數ID,B插偶數ID,當然如果伺服器多的話,你可以定義演算法,只要不同就可以了 在這裡我們在A,B上加入參數,以實現奇偶插入
Time of Update: 2018-12-08
由於沒辦法在短期內增加讀的伺服器,所以採取對Mysql進行了一些配置,以犧牲資料即時性為代價,來換取所有伺服器的生命安全。呵呵,具體相關調整以及思路如下: MyISAM在讀操作佔主導的情況下是很高效的。可一旦出現大量的讀寫並發,同InnoDB相比,MyISAM的效率就會直線下降,而且,MyISAM和
Time of Update: 2018-12-08
DDL—資料定義語言 (Data Definition Language)(Create,Alter,Drop,DECLARE) DML—資料操縱語言(Select,Delete,Update,Insert) DCL—資料控制語言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,簡要介紹基礎語句: 1、說明:建立資料庫 Create DATABASE database-name 2、說明:刪除資料庫 drop database dbname 3、說明:備份sql server
Time of Update: 2018-12-08
接上篇:mysql使用mysql-udf-http效率測試筆記 ,這次不使用rest架構,而是使用:libmemcached和memcached_functions_mysql,測試版本是: libmemcached-0.34.tar.gz和memcached_functions_mysql-0.9.tar.gz,其它版本配對都有問題,我安裝測試過有問題的版本有: 複製代碼 代碼如下:memcached_functions_mysql-1.1在:
Time of Update: 2018-12-08
看到張宴的部落格上關於"http/rest用戶端的文章",怎樣安裝啥的直接都跳過,下面直接進入測試階段,測試環境:虛擬機器 複製代碼 代碼如下:[root@localhost ~]# uname -a Linux sunss 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST 2009 i686 i686 i386 GNU/Linux 記憶體和交換分區: 複製代碼 代碼如下:[root@localhost ~]# free -m total used
Time of Update: 2018-12-08
replace、regexp的用法 0 Comments | This entry was posted on Apr 08 2010 mysql replace用法 1.replace into replace into table (id,name) values('1′,'aa'),('2′,'bb') 此語句的作用是向表table中插入兩條記錄。如果主鍵id為1或2不存在 就相當於 insert into table (id,name)
Time of Update: 2018-12-08
像這種不能建立一個.frm 檔案的報錯好像暗示著作業系統的檔案的許可權錯誤或者其它原因,但實際上,這些都不是的,事實上,這個mysql報錯已經被報告是一個mysql本身的bug並出現在mysql 開發人員列表當中很多年了,然而這似乎又是一種誤導。 在很多執行個體中,這種錯誤的發生都是因為mysql一直以來都不能很好的支援的關係的問題, 更不幸的是它也並沒有指明到底是哪一個問題會導致上面那種錯誤,下面我把導致這個可怕 的150錯誤的常見原因列出來了,並且我以可能性的大小作了排序,已知的原因: 1、
Time of Update: 2018-12-08
一、 MySQL: 索引以B樹格式儲存 Memory儲存引擎可以選擇Hash或BTree索引,Hash索引只能用於=或<=>的等式比較。 1、普通索引:create index on Tablename(列的列表) alter table TableName add index (列的列表) create table TableName([...], index [IndexName] (列的列表) 2、唯一性索引:create unique index
Time of Update: 2018-12-08
1.資料的容量:1-3年內會大概多少條資料,每條資料大概多少位元組; 2.資料項目:是否有大欄位,那些欄位的值是否經常被更新; 3.資料查詢SQL條件:哪些資料項目的列名稱經常出現在WHERE、GROUP BY、ORDER BY子句中等; 4.資料更新類SQL條件:有多少列經常出現UPDATE或DELETE 的WHERE子句中; 5.SQL量的統計比,如:SELECT:UPDATE+DELETE:INSERT=多少? 6.預計大表及相關聯的SQL,每天總的執行量在何數量級?
Time of Update: 2018-12-08
1. 下載RPM安裝包, 因為安裝MySQL的時候,軟體會需要一依賴關係, 所以建議把所有的安裝包下載下載, 再依次安裝所以的RPM包。 2. 在RedHat下安裝後, root密碼為空白, 設定MySQL的 root密碼, 用下面的命令來設定. [nb@SIT ~]$ mysql -u root -p[newpassword] 3. 修改MySQL的root 密碼, 用下面 的命令: [nb@SIT ~]$ mysqladmin -u root -p[oldpasswrod]
Time of Update: 2018-12-08
開始沒想到,這10w的資料一個號碼一個號碼的插入半個小時才2w。後來改進一條SQL批量插入 複製代碼 代碼如下:-- 最佳化代碼之前的 insert into table(mobile) values (138000000); insert into table(mobile) values (138000000); insert into table(mobile) values (138000000); …… -- 最佳化之後的 insert into table(mobile)
Time of Update: 2018-12-08
SHOW TABLES或SHOW TABLES FROM DATABASE; 解釋:顯示當前資料庫中所有表的名稱 SHOW DATABASES; 解釋:顯示MYSQL中所有資料庫的名稱 SHOW PROCESSLIST; 解釋:顯示系統中正在啟動並執行所有進程,也就是當前正在執行的查詢。大多數使用者可以查看他們自己的進程,但是如果他們擁有PROCESS許可權,就可以查看所有人的進程,包括密碼 SHOW TABLE STATUS;
Time of Update: 2018-12-08
語句: UPDATE test SET age=5 WHERE 'name‘='王莽' 顧名思義就是把王莽的年齡改為5,但結果很無奈—— 影響行數為0,怎麼回事,文法沒錯,哪裡都沒問題啊…… 隨便改了改了,將name 的兩個引號去掉,結果卻無意間成功了—— 但是使用圖形介面更改時,結果更讓人迷惑—— 產生的程式碼是——UPDATE `web`.`test` SET `age` = '20' WHERE `test`.`name` = '王莽' LIMIT 1 ; 百思不得其解中……
Time of Update: 2018-12-08
語句如下:alter table tableName engine=InnoDB; 用到的表 複製代碼 代碼如下:CREATE TABLE IF NOT EXISTS `test` ( `id` int(10) NOT NULL auto_increment, `websitename` varchar(200) character set utf8 NOT NULL, `websiteurl` varchar(200) character set utf8 NOT NULL, PRIMARY
Time of Update: 2018-12-08
今天寫了一個小程式,很小很小,只不過是能夠建立php與mysql的連結,並且實現簡單的SQL語句。 新手初試,還請各路高手多多指導。 程式原始碼如下: 複製代碼 代碼如下:<?php $conn = mysql_connect("localhost","root","") or die ("wrong!"); $sel=mysql_select_db("mydb",$conn); $sql="INSERT INTO `mydb`.`test` ( `id` , `uid` ,