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...
阅读全文