mysql常用的一些语句

[color=blue][size=medium]创建表[/size][/color]

create TABLE emp(
id INT(10) unsigned NOT NULL AUTO_INCREMENT,
emp_no VARCHAR(10) NOT NULL,
emp_name VARCHAR(50) NOT NULL,
emp_sex CHAR(1) default null,
emp_salary DOUBLE(10,2) default NULL,
birthday Date default null,
entry_date TIMESTAMP(8),
PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8

[size=medium][color=blue]插入数据[/color][/size]
insert into emp(emp_no,emp_name,emp_sex,emp_salary,birthday)values('1001','zhansan','M',5000.345555,'2004-09-23');

[size=medium][color=blue]添加表字段number在cityId后[/color][/size]
alter table emp ADD number INT(10) after emp_name;
[size=medium][color=blue]如果一次加多个字段这样写[/color][/size]
ALTER TABLE MYTABLE ADD FIELD1 VARCHAR(10),ADD FIELD2 INT,ADD FIELD3 VARCHAR(1)

[size=medium][color=blue]如果一次加多个字段这样写也可以这样写[/color][/size]
ALTER TABLE MYTABLE ADD (FIELD1 VARCHAR(10),FIELD2 INT,FIELD3 VARCHAR(1))

[size=medium][color=blue]修改表的字段名字定义[/color][/size]
alter table emp change emp_name emp_namedd VARCHAR(55);
[size=medium]
[color=blue]修改表的字段的定义位置[/color][/size]
alter table emp modify emp_name VARCHAR(20) default 'zhangsan';

[size=medium][color=blue]删除表的字段[/color][/size]
alter table emp drop emp_name;

[size=medium][color=blue]删除表[/color][/size]
drop table emp;

[size=medium][color=blue]清空表数据[/color][/size]
truncate table emp;

[size=medium][color=blue]得到表结构[/color][/size]
desc emp;

[size=medium][color=blue]修改表名[/color][/size]
alter table tablename1 rename to tablename2

[size=medium][color=blue]这个是用来对表进行优化。这个命令可以将表中的碎片进行合并,并且可以消除由于删除或者更新造成的空间的浪费。这个命令只对MyISAM BDB,InnoDB起作用。[/color][/size]
OPTIMIZE TABLE emp;

[size=medium][color=blue]创建过程:向表emp中插入10000条数据[/color][/size]
create PROCEDURE createEmpData()
BEGIN
set @x=1;
loop1:LOOP
set @x = @x + 1;
if @x = 10000 THEN
LEAVE loop1;
end IF;
insert into emp(emp_no,emp_name,emp_sex,emp_salary,birthday)values('1001','zhansan','M',5000.34,'2004-09-23');
end loop loop1;
END

[size=medium][color=blue]调用过程[/color][/size]
call createEmpData;

[size=medium][color=blue]删除过程[/color][/size]
drop PROCEDURE createEmpData;

[size=medium][color=blue]快速对Mysql添加索引的五个方法[/color][/size]
[size=medium][color=blue]1.添加PRIMARY KEY(主键索引)[/color][/size]

mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

[size=medium][color=blue]2.添加UNIQUE(唯一索引)[/color][/size]

mysql>ALTER TABLE `table_name` ADD UNIQUE (
`column`
)

[size=medium][color=blue]3.添加INDEX(普通索引)[/color][/size]
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
例子:alter table `balance` add index data_date_index(data_date);


[size=medium][color=blue]4.添加FULLTEXT(全文索引)[/color][/size]
mysql>ALTER TABLE `table_name` ADD FULLTEXT (
`column`
)

[size=medium][color=blue]5.添加多列索引[/color][/size]
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

[size=medium][color=blue]mysql临时表的使用[/color][/size]

[size=medium][color=blue]创建临时表[/color][/size]
create temporary table tmp_table(name varchar(10) not null,passwd char(6) not null)
[size=medium][color=blue]临时表只在当前连接可见,当这个连接关闭的时候,会自动drop。这就意味着你可以在两个不同的连接里使用相同的临时表名,并且相互不会冲突,或者使用 已经存在的表,但不是临时表的表名。(当这个临时表存在的时候,存在的表被隐藏了,如果临时表被drop,存在的表就可见了)。创建临时表你必须有

  create temporary table 权限[/color][/size]

[size=medium][color=blue]临时表用完后要记得drop掉:[/color][/size]
DROP TEMPORARY TABLE IF EXISTS sp_output_tmp;
临时表参考的博客地址:
[url]http://www.cnblogs.com/end/archive/2011/03/31/2001094.html[/url]

[size=medium][color=blue]SELECT INTO 和 INSERT INTO SELECT 两种表复制语句[/color][/size]

[size=medium][color=blue]1.INSERT INTO SELECT语句[/color][/size]

语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量

[size=medium][color=blue]2.SELECT INTO FROM语句[/color][/size]

语句形式为:SELECT vale1, value2 into Table2 from Table1

要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。

两种表复制语句参考的博客
[url]http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html[/url]

[size=medium][color=blue]mysql 批量更新[/color][/size]

批量更新参考的博客
[url]http://blog.sina.com.cn/s/blog_3f776cca0100xka5.html[/url]

[url]http://www.oschina.net/code/snippet_12_3346[/url]

[url]http://www.cnblogs.com/rockee/archive/2012/06/11/2544903.html[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值