Time of Update: 2017-01-19
MySQL RAND()函數調用可以在0和1之間產生一個隨機數:mysql> SELECT RAND( ), RAND( ), RAND( );+------------------+-----------------+------------------+| RAND( ) | RAND( ) | RAND( ) |+------------------+-----------------+------------------+| 0.45464584925645 | 0.1
Time of Update: 2017-01-19
MyISAM是MySQL的預設儲存引擎。MyISAM不支援事務、也不支援外鍵,但其訪問速度快,對事務完整性沒有要求。
Time of Update: 2017-01-19
如果想選擇其他幾個表中的行或從一個單一的表作為一個單獨的結果集行的幾個集會,那麼可以使用的UNION。UNION在MySQL4.0以上版本才能可以使用。本節說明如何使用它。假設有兩個表,潛在和實際的客戶列表,供應商購買耗材合并所有三個表中的姓名和地址,來建立一個單一的郵件清單。UNION提供了一種方法做到這一點。假設三個表有以下內容:mysql> SELECT * FROM prospect;+---------+-------+------------------------+|
Time of Update: 2017-01-19
可以使用IN子句來代替相結合的“大於等於和小於等於”的條件。要瞭解BETWEEN 子句考慮的EMPLOYEE_TBL表有以下記錄:mysql> SELECT * FROM employee_tbl;+------+------+------------+--------------------+| id | name | work_date | daily_typing_pages |+------+------+------------+--------------------+|
Time of Update: 2017-01-19
Mysql可以通過運算子來對錶中資料進行運算,比如通過出生日期求年齡等運算子包括四類,分別是:算數運算子、比較子、邏輯運算子和位元運算符算數運算子加、減、乘運算複製代碼 代碼如下:mysql> select a,a+5,a*2 from t1;+------+------+------+| a | a+5 | a*2 |+------+------+------+| 24 | 29
Time of Update: 2017-01-19
什麼是視圖 視圖是從一個或多個表中匯出來的表,是一種虛擬存在的表。視圖就像一個視窗,通過這個視窗可以看到系統專門提供的資料。這樣,使用者可以不用看到整個資料庫中的資料,而之關心對自己有用的資料。資料庫中只存放了視圖的定義,而沒有存放視圖中的資料,這些資料存放在原來的表中。使用視圖查詢資料時,資料庫系統會從原來的表中取出對應的資料。視圖中的資料依賴於原來表中的資料,一旦表中資料發生改變,顯示在視圖中的資料也會發生改變。 視圖的作用
Time of Update: 2017-01-19
首先,介紹下關於InnoDB引擎儲存格式的幾個要點:1、InnoDB可以選擇使用共用資料表空間或者是獨立資料表空間方式,建議使用獨立資料表空間,便於管理、維護。啟用 innodb_file_per_table 選項,5.5以後可以線上動態修改生效,並且執行 ALTER TABLE xx ENGINE = InnoDB 將現有錶轉成獨立資料表空間,早於5.5的版本,修改完這個選項後,需要重啟才會生效;2、InnoDB的data page預設16KB,5.6版本以後,新增選項
Time of Update: 2017-01-19
絕對值函數ABS(x)和圓周率函數PI()複製代碼 代碼如下:mysql> SELECT ABS(0.5), ABS(-0.5), PI();+----------+-----------+----------+| ABS(0.5) | ABS(-0.5) | PI() |+----------+-----------+----------+| 0.5
Time of Update: 2017-01-19
在web開發中,我們經常會寫出一些SQL語句,一條糟糕的SQL語句可能讓你的整個程式都非常慢,超過10秒一般使用者就會選擇關閉網頁,如何最佳化SQL語句將那些已耗用時間
Time of Update: 2017-01-19
當您的庫中刪除了大量的資料後,您可能會探索資料檔案尺寸並沒有減小。這是因為刪 除操作後在資料檔案中留下片段所致。Discuz! 在系統數設定介面提供了資料表最佳化的功能,可以去除刪除操作後留下的資料檔案片段,減小檔案尺寸,加快未來的讀寫操作。您只要在做完大量刪除,或定期(如 每一兩個月)進行一次資料表最佳化操作即可。OPTIMIZE TABLE通過製作原來的表的一個臨時副本來工作OPTIMIZE TABLE文法OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG]
Time of Update: 2017-01-19
執行個體一:無參的預存程序複製代碼 代碼如下:$conn = mysql_connect('localhost','root','root') or die ("資料連線錯誤!!!");mysql_select_db('test',$conn);$sql = "create procedure myproce()beginINSERT INTO user (id, username, sex) VALUES (NULL, 's',
Time of Update: 2017-01-19
給定一個升序排列的自然數數組,數組中包含重複數字,例如:[1,2,2,3,4,4,4,5,6,7,7]。問題:給定任意自然數,對數組進行二分尋找,返回數組正確的位置,給出函數實現。註:連續相同的數字,返回第一個匹配位置還是最後一個匹配位置,由函數傳入參數決定。我為什麼會出這道題目? 二分尋找在資料庫核心實現中非常重要
Time of Update: 2017-01-19
MySQL有多種儲存引擎,MyISAM和InnoDB是其中常用的兩種。這裡介紹關於這兩種引擎的一些基本概念(非深入介紹)。MyISAM是MySQL的預設儲存引擎,基於傳統的ISAM類型,支援全文檢索搜尋,但不是事務安全的,而且不支援外鍵。每張MyISAM表存放在三個檔案中:frm 檔案存放表格定義;資料檔案是MYD (MYData);索引檔案是MYI (MYIndex)。InnoDB是事務型引擎,支援復原、崩潰恢複能力、多版本並發控制、ACID事務,支援行級鎖定(InnoDB表的行鎖不是絕對的,
Time of Update: 2017-01-19
今兒繼續再看老師給推薦的深入淺出mysql資料庫開發這本書,看到innodb資料庫的外部索引鍵關聯問題時,遇到了一個問題,書上寫的是可以對父表進行修改,從而同步到子表的外鍵上去,可是自己的實驗卻是沒有能夠。複製代碼 代碼如下:mysql> show create table country\G*************************** 1. row ***************************
Time of Update: 2017-01-19
MySQL的ALTER命令是非常有用的,當想改變表的名稱,表的欄位,或者如果要添加或刪除一個現有的表中的列。讓我們開始建立一個表名為testalter_tbl的用例:root@host# mysql -u root -p password;Enter password:*******mysql> use TUTORIALS;Database changedmysql> create table testalter_tbl -> ( -> i INT, ->
Time of Update: 2017-01-19
MySQL5.6有很多新的特性,其中很多人都感興趣的一條就是全域事務序號功能(GTIDs)。而大家都對這一特性高度興趣的原因也很好理解,即:本來重新串連從伺服器和一個新的主伺服器一直是件很麻煩的事,然而在啟用GTIDs功能之後就變得簡單易行。可是,GTIDs的使用不單單是用單獨的標識符替換舊的二進位記錄檔/位置,它也採用了新的複製協議。假如你還不太明白這些,那你可以在這篇文章裡學點什麼。複製協議:新的 VS 舊的
Time of Update: 2017-01-19
繼續做以下的前期準備工作: 建立一個測試資料庫TestDB; create database TestDB; 建立測試表table1和table2; CREATE TABLE table1 ( customer_id VARCHAR(10) NOT NULL, city VARCHAR(10) NOT NULL, PRIMARY KEY(customer_
Time of Update: 2017-01-19
糟糕的SQL查詢語句可對整個應用程式的運行產生嚴重的影響,其不僅消耗掉更多的資料庫時間,且它將對其他應用組件產生影響。如同其它學科,最佳化查詢效能很大程度上決定於開發人員的直覺。幸運的是,像MySQL這樣的資料庫內建有一些協助工具。本文簡要討論諸多工具之三種:使用索引,使用EXPLAIN分析查詢以及調整MySQL的內部配置。MySQL允許對資料庫表進行索引,以此能迅速尋找記錄,而無需一開始就掃描整個表,由此顯著地加快查詢速度。每個表最多可以做到16個索引,此外MySQL還支援多列索引及全文檢索索
Time of Update: 2017-01-19
前些年,HandlerSocket的橫空出世讓人們眼前一亮,當時我還寫了一篇文章介紹了其用法梗概,時至今日,由於種種原因,HandlerSocket並沒有真正流行起來,不過慶幸的是MySQL官方受其啟發,研發了基於InnoDB的Memcached外掛程式,總算是在MySQL中延續了NoSQL的香火,以前單獨架設Memcached伺服器不僅浪費了記憶體,而且還必須自己維護資料的不一致問題,有了Memcached外掛程式,這些問題都不存在了,而且藉助MySQL本身的複製功能,我們可以說是變相的實現了
Time of Update: 2017-01-19
prompt命令可以在mysql提示符中顯示目前使用者、資料庫、時間等資訊複製代碼 代碼如下:mysql -uroot -p --prompt="\\u@\\h:\\d \\r:\\m:\\s>"設定成功後:複製代碼 代碼如下:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 5Server version: 5.1.60-log Source