Time of Update: 2017-01-18
在升級批處理sql指令碼的時候,由於各種編寫的不規範、不可重複執行,我們通常希望在sql指令碼出錯後不中止,而是執行完成。雖然這些問題可通過編寫可重複執行的mysql預存程序比如add_column/drop_column執行,但是很多時候,現成的版本還需要較長一段時間過渡,所以這個需求仍然是有必要的。其實很簡單,只需要加上--force命令列選項即可,如下: mysql -uroot -ppassword - -force [db] <
Time of Update: 2017-01-18
MySQL資料庫中,如果我們想清空資料表(刪除資料表中所有內容)的話,可以通過下面兩個語句來實現:truncate table table_n;delete from table_n;執行個體我們先通過執行個體看下通過這兩種方式清空資料庫的過程和結果#delete示範mysql> create table testforde( -> number int not null auto_increment, -> name varchar(20) not null, ->
Time of Update: 2017-01-18
在mysql資料庫開發中,我們有時候需要複製或拷貝一張表結構和資料到例外一張表,這個時候我們可以使用create ... select ... from語句來實現,本文章向大家介紹mysql複製表結構和資料一個簡單一實例, 比如現在有一張表,我們要將該表複製一份,以備以後使用,那麼如何使用mysql語句來實現呢?其實我們可以直接使用create ... select ...
Time of Update: 2017-01-18
前言相信大家都知道隱式類型轉換有無法命中索引的風險,在高並發、大資料量的情況下,命不中索引帶來的後果非常嚴重。將資料庫拖死,繼而整個系統崩潰,對於大規模系統損失慘重。所以下面通過本文來好好學習下MySQL隱式類型的轉換陷阱和規則。1. 隱式類型轉換執行個體今天生產庫上突然出現MySQL線程數警示,IOPS很高,執行個體會話裡面出現許多類似下面的sql:(修改了相關欄位和值)SELECT f_col3_id,f_qq1_id FROM d_dbname.t_tb1 WHERE f_col1_id=
Time of Update: 2017-01-18
小插曲,晚上把資料的my.ini編碼改為utf-8,然後資料庫一直不能啟動,改回gbk就可以,有知道的告知下問題所在。因為是連結資料庫,也沒什麼好說明的,直接上代碼吧。<?php/* Connect to a MySQL server 串連資料庫伺服器 */$link = mysqli_connect( 'localhost', /* The host to connect to 串連MySQL地址 */ 'jian', /* The user to connect as
Time of Update: 2017-01-18
主要涉及:JOIN 、JOIN 更新、GROUP BY HAVING 資料查重/去重1 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN(MySQL 不支援)、CROSS JOIN這是在網上找到的非常好的一篇博文,圖解 join 語句:CODING HORROR-A Visual Explanation of SQL Joins下圖可以很清楚的明白,join 的資料選取範圍[][1][1]:
Time of Update: 2017-01-18
前言在我們往資料庫插入資料的時候,需要判斷某個欄位是否存在,如果存在則執行更新操作,如果不存在則執行插入操作,如果每次首先查詢一次判斷是否存在,再執行插入或者更新操作,就十分不方便。下面給大家分享個方法,方便大家實現這一功能,下面來一起看看吧。ON DUPLICATE KEY UPDATE這個時候可以給這個欄位(或者幾個欄位)建立唯一索引,同時使用以下 sql 語句進行插入或更新操作:INSERT INTO table (id, user_id, token) VALUES (NULL, '24
Time of Update: 2017-01-18
MySQL和Lucene都可以對資料構建索引並通過索引查詢資料,一個是關係型資料庫,一個是構建搜尋引擎(Solr、Elasticsearch)的核心類庫。兩者的索引(index)有什麼區別呢?以前寫過一篇《Solr與MySQL查詢效能對比》,只是簡單的對比了下查詢效能,對於內部原理卻沒有解釋,本文簡單分析下兩者的索引區別。MySQL索引實現在MySQL中,索引屬於儲存引擎層級的概念,不同儲存引擎對索引的實現方式是不同的,本文主要討論MyISAM和InnoDB兩個儲存引擎的索引實現方式。MyISA
Time of Update: 2017-01-18
MySQL
Time of Update: 2017-01-18
選項配置設定檔路徑: /full/path/mysql/bin/my.cnf (預設為/etc/my.cnf )[client]default-character-set=utf8[mysql]default-character-set=utf8[mysqld]init_connect='SET collation_connection = utf8_unicode_ci'init_connect='SET NAMES
Time of Update: 2017-01-18
資料庫最佳化有很多可以講,按照支撐的資料量來分可以分為兩個階段:單機資料庫和分庫分表,前者一般可以支撐500W或者10G以內的資料,超過這個值則需要考慮分庫分表。另外,一般大企業面試往往會從單機資料庫問起,一步一步問到分庫分表,中間會穿插很多資料庫最佳化的問題。本文試圖描述單機資料庫最佳化的一些實踐,資料庫基於mysql,如有不合理的地方,歡迎指正。1、表結構最佳化在開始做一個應用的時候,資料庫的表結構設計往往會影響應用後期的效能,特別是使用者量上來了以後的效能。因此,表結構最佳化是一個很重要的
Time of Update: 2017-01-18
問題介紹電腦在使用過程中死機,重啟後發現mysql沒有啟動成功,查看錯誤記錄檔發現是innodb出現問題導致mysql啟動失敗。錯誤記錄檔$ mysql.server startStarting MySQL. ERROR! The server quit without updating PID file (/usr/local/var/mysql/fdipzonedeMacBook-Air.local.pid).22:08:37 mysqld_safe Starting mysqld
Time of Update: 2017-01-18
本文執行個體講述了MySQL學習筆記之建立、刪除、修改表的方法。分享給大家供大家參考,具體如下:建立表:create table users( id int, name varchar(64), sex bit(1), birthday date, Entry_date date, job varchar(32), salary float, resume text);1 添加列:alter table 表名 add 列名 資料類型alter table users add
Time of Update: 2017-01-18
一、mysql 擷取當前欄位最大idSQL語句:select max(id) from yourtable;二、擷取mysql表自增(Auto_increment)值Auto_increment是表中的一個屬性,只要把表的狀態擷取到,也就可以擷取到那個自增值SQL語句:show table status like “表名”;php代碼實現$get_table_status_sql = "SHOW TABLE STATUS LIKE '表名'";$result =
Time of Update: 2017-01-18
一、Mysqlslap介紹mysqlslap是MySQL5.1之後內建的benchmark基準測試載入器,類似Apache
Time of Update: 2017-01-18
一、數字類型。數字類型按照我的分類方法分為三類:整數類、小數類和數字類。 我所謂的“數字類”,就是指DECIMAL和NUMERIC,它們是同一種類型。它嚴格的說不是一種數字類型,因為他們實際上是將數字以字串形式儲存的;他的值的每一位(包括小數點)佔一個位元組的儲存空間,因此這種類型耗費空間比較大。但是它的一個突出的優點是小數的位元固定,在運算中不會“失真”,所以比較適合用於“價格”、“金額”這樣對精度要求不高但準確度要求非常高的欄位.
Time of Update: 2017-01-18
那麼,MySQL的資料量到底能支援多少呢?其實MySQL單表的上限,主要與作業系統支援的最大檔案大小有關。我們來看一下官方的介紹。 1.4.4. MySQL表最大能達到多少 MySQL 3.22限制的表大小為4GB。由於在MySQL 3.23中使用了MyISAM儲存引擎,最大表尺寸增加到了65536TB(2567 – 1位元組)。由於允許的表尺寸更大,MySQL資料庫的最大有效表尺寸通常是由作業系統對檔案大小的限制決定的,而不是由MySQL內部限制決定的。
Time of Update: 2017-01-18
樣本如下: 複製代碼 代碼如下:CREATE PROCEDURE `justifyGroupNum`() NOT DETERMINISTIC SQL SECURITY DEFINER COMMENT '' BEGIN /*how to run:call justifyGroupNum()*/ DECLARE p_group_id int; declare p_num int; declare stopFlag int; DECLARE cursor_name CURSOR FOR select
Time of Update: 2017-01-18
1.myisamchk的調用方法 myisamchk [options] tbl_name ... 其中options指定你想讓myisamchk幹什麼。 它允許你通過使用模式“*.MYI”指定在一個目錄所有的表。 shell> myisamchk *.MYI 推薦的快速檢查所有MyISAM表的方式是: shell> myisamchk --silent --fast /path/to/datadir/*/*.MYI 當你運行myisamchk時,必須確保其它程式不使用表。
Time of Update: 2017-01-18
問題是這樣的: 一張test的表,字元集採用的latin1。 select to_id from test where to_id='cn象_王'; +---------------+ | to_id | +---------------+ | cn陶_陶 | | cn象_王 | +---------------+ 2 rows in set (0.00 sec) 取cn象_王的資料,居然把cn陶_陶的資料也取回來了。 這顯然是不允許的。 查看它們的編碼: (root@im_offlog1a:)