MySQL常用语句-2

CREATE TABLE T_dostest_1 AS SELECT * FROM T_dostest WHERE 1<>1--复制表结构,不含索引


ALTER TABLE T_dostest_1 ADD  NGReason varchar(50) --新增列

ALTER TABLE T_dostest_1 DROP column NGReason  --删除列

ALTER TABLE T_dostest MODIFY zl varchar(18) NOT NULL;--修改列

ALTER TABLE T_dostest_1 ADD CONSTRAINT PK_T_dostest_1 PRIMARY KEY (zl, OptDate);  --新增主键

ALTER TABLE T_dostest_1 DROP PRIMARY KEY --删除主键

ALTER TABLE T_dostest_1 ADD CONSTRAINT uk_zl unique(zl)  --unique索引


--创建索引,或者在创建表的时候指定 key 就好了,比如KEY `IDX_zl` USING TREE (`zl`)

CREATE INDEX IX_zl ON T_dostest_1(zl)  

ALTER TABLE T_dostest_1 ADD index IX_zl(zl)  --创建索引


ALTER TABLE T_dostest_1 drop index uk_zl  --删除unique索引

ALTER TABLE T_dostest_1 DROP INDEX IX_zl  --删除索引

DROP INDEX ix_zl ON T_dostest_1  --删除索引

show index from T_dostest  --显示索引


mysql的ifnull()函数对应sql的isnull()函数;

mysql的每句结束要用";"

Mysql的Execute对应SqlServer的exec;

(注意:必须想下面这样调用)  

Set @cnt=select * from 表名;  

Prepare str from @cnt;  

Execute str;


MySql存储过程调用其他存储过程用call Call 函数名(参数1,参数2,……)没有参数也要写括号“()”

delimiter $$


CREATE PROCEDURE sp_getlimit(in pid int)

BEGIN

 declare strSQL varchar(200);

 set @strSQL = ‘SELECT * from t_mac_zl ‘;

 set @strSQL = concat(@strSQL, ‘limit ‘);

 #set @strSQL = concat(@strSQL, convert(pid,char(10)));

 set @strSQL = concat(@strSQL, cast(pid as char));

 prepare smt1 from @strSQL;

 execute smt1;

 deallocate prepare smt1;

END $$

delimiter ;


mysql的日期

1) 获得当前日期函数:curdate(),current_date()

2) 获得当前时间函数:curtime(); 3) 获得当前日期+时间:now();


注释

# 一行

/* 区间注释 */


id varchar(10)  primary key auto_increment  not null  --自增列


--创建临时表

create TEMPORARY table tb1

( id int, name varchar(20) );--注意最后加分号


--创建表

DROP TABLE IF EXISTS `sfis_test`.`T_dostest`;

CREATE TABLE  `sfis_test`.`T_dostest` (

 `zl` varchar(18) collate latin1_general_ci NOT NULL,

 `Operator` varchar(8) collate latin1_general_ci default NULL,

 `OptDate` datetime NOT NULL default ‘0000-00-00 00:00:00‘,

 `LineNo` tinyint(3) unsigned default NULL,

 `TestResult` tinyint(3) unsigned default ‘0‘,

 `ScanLocate` tinyint(3) unsigned default NULL,

 `NGReason` varchar(50) collate latin1_general_ci default NULL,

 PRIMARY KEY  (`zl`,`OptDate`),

 KEY `IDX_OptDate` USING BTREE (`OptDate`),

 KEY `IDX_zl` USING BTREE (`zl`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;


--用文本方式将数据装入数据库表中(例如D:/mysql.txt)

mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;


--导入.sql文件命令(例如D:/mysql.sql)

mysql>source h:/sfis.sql;


--备份数据库

C:\Program Files\MySQL\MySQL Server 5.0\bin> mysqldump -u sfis -p sfis >h:/sfis.sql

Enter password: ******


--还原数据库

root登陆Mysql的Client, 建立目标数据库sfis

mysql> create database sfis;

Query OK, 1 row affected (0.00 sec)

C:\Program Files\MySQL\MySQL Server 5.0\bin> mysql -u root -p sfis <h:/sfis.sql

Enter password: ******



本文出自 “畅想天空” 博客,请务必保留此出处http://kinwar.blog.51cto.com/3723399/1397897

MySQL常用语句-2,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。