CAST()函數可以進行數據類型的轉換。
CAST()函數的參數有兩部分,源值和目標數據類型,中間用AS關鍵字分隔。
以下例子均通過本人測試。
一、轉換列或值
語法:cast( 列名/值 as 數據類型 )
用例:
1)、轉換列
--將empno的類型(number)轉換為varchar2類型。
select cast(empno as varchar2(10)) as empno from emp;
EMPNO
----------
7369
7499
7521
...
2)、轉換值
--將字元串轉換為整型。
SELECT CAST('123' AS int) as re...
閱讀全文
--省級 provincial create table provincial ( provincialID int, provincialName varchar(50), primary key (provincialID) )engine=INNODB default charset=gbk; insert into provincial values(1,'北京市'); insert into provincial values(2,'天津市'); insert into provincial values(3,'上海市'); insert into provincial values(4,'重慶市'); insert into provincial values(5,'河北省'); insert into pro...
閱讀全文
<pre name="code" class="sql">/*
SQLyog Ultimate v11.24 (32 bit)
MySQL - 5.6.17
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
create table `province_info` (
`provincecode` varchar (33),
`namecn` varchar (450),
`countrycode` varchar (33),
`sort` int (11)
);
insert into `province_info` (`provincecode`, `namecn`, `countrycode`, ...
閱讀全文
今天,資料庫的操作越來越成為整個應用的性能瓶頸了,這點對於Web應用尤其明顯。關於資料庫的性能,這並不只是DBA才需要擔心的事,而這更是我 們程序員需要去關注的事情。當我們去設計資料庫表結構,對操作資料庫時(尤其是查表時的SQL語句),我們都需要注意數據操作的性能。這裡,我們不會講過 多的SQL語句的優化,而只是針對MySQL這一Web應用最多的資料庫。希望下面的這些優化技巧對你有用。
1. 為查詢緩存優化你的查...
閱讀全文
前兩天在一台電腦上安裝了兩個mysql,一個埠是3306,一個是3307。 然後配置這兩個mysql資料庫,測試master
和slave 。 我的測試環境是windows下,所以需要修改mysql 安裝目錄下的my.ini文件 首先,配置master。 在3306那個mysql的my.ini文件末尾,添加如下代碼即可。 server-id = 1log-bin=c:mysqllog/panlogsbinlog-do-db=panpanbinlog-ignore-db= server-id = 1 是master的id號。slave的id我們設置為2. log-bin=c:mysqllo...
閱讀全文
一,什麼是mysql分表,分區
什麼是分表,從表面意思上看呢,就是把一張表分成N多個小表,具體請看mysql分表的3種方法
什麼是分區,分區呢就是把一張表的數據分成N多個區塊,這些區塊可以在同一個磁碟上,也可以在不同的磁碟上
一,先說一下為什麼要分表
當一張的數據達到幾百萬時,你查詢一次所花的時間會變多,如果有聯合查詢的話,我想有可能會死在那兒了。分表的目的就在於此,減小資料庫的負擔,縮短查詢時間。
根...
閱讀全文
業務場景:關聯不同資料庫中的表的查詢
比如說,要關聯的表是:機器A上的資料庫A中的表A && 機器B上的資料庫B中的表B。
這種情況下,想執行「select A.id,B.id from A left join B on ~~~;「那是不可能的,但業務需求不可變,資料庫設計不可變,這就蛋疼了。。
解決方案:在機器A上的資料庫A中建一個表B。。。
這當然不是跟你開玩笑啦,我們採用的是基於mysql的federated引擎的建表方式。
建表語句示例:CREATE TABLE `t...
閱讀全文
1、select concat('kill ',id,';') from information_schema.processlist where db = 'ptengine';
2、複製結果集(按住alt鍵可豎著選擇),粘貼執行即可
閱讀全文
有兩種方法:
1. SELECT
* FROM table INTO OUTFILE '/tmp/table.csv';
此處須注意:文件路徑最好是絕對路徑,否則文件內容可能為空;
2.mysql
-uroot -p database < select語句文件.sql > /tmp/table.csv;
把要執行的SQL語句寫在文件中再執行導出,貌似比第一種方法麻煩;不過好處在於,這種方法執行的結果中包含了列名,對比如下:
閱讀全文
mysql對文件的解析:默認用空格分隔列,一行對應一條記錄;
文件中內容格式如圖:
load data infile 'd:/test.txt' into table ggg;
也可用『,』分隔列,sql語句增加列分隔符的說明即可;
文件中內容格式如圖:
load data infile 'd:/test.txt' into table ggg FIELDS TERMINATED BY ',';
續:
load大量數據的時候,mysql默認邊建索引邊load,所以會很慢,可以在load之前關閉自動建索引這個操作,使用的sql語句是:「alter...
閱讀全文