Chinaunix首页 | 论坛 | 博客
  • 博客访问: 115479
  • 博文数量: 14
  • 博客积分: 1430
  • 博客等级: 上尉
  • 技术积分: 285
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-03 21:59
个人简介

如果这生命如同一段旅程 总要走过后才完整

文章分类

全部博文(14)

文章存档

2013年(10)

2011年(1)

2008年(3)

我的朋友

分类: Mysql/postgreSQL

2013-02-14 22:21:19

拆表:
create table bak_task_instances select * from task_instances where timestamp<1291795988; //2011-12-08
delete from task_instances where timestamp<1291795988; //2011-01-01

表复制:
1.复制表结构及数据到新表
CREATE TABLE 新表 SELECT * from 旧表
2.只复制表结构到新表
CREATE TABLE 新表 SELECT * from 旧表 WHERE 1=2
或CREATE TABLE 新表 LIKE 旧表
3.复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表 SELECT * from 旧表
4.复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... from 旧表
5.可以将表1结构复制到表2
SELECT * INTO 表2 from 表1 WHERE 1=2
6.可以将表1内容全部复制到表2
用SELECT * INTO 表2 from 表1
对于方法一
create table newtable1 select name,email,tel,address from dept1;
该方法是将一张表的数据复制到一张新表的方法;
现在问题是newtable1新表中如何建立一个自动增长的列,在复制数据的同时,该自动增长列也会自动增长。
CREATE TABLE test (id int not null auto_increment) SELECT * from dept1;

向表中插入新字段
alter table modules add column start_command varchar(255);

删除表中的一个字段
alter table modules drop column role;

单独设置主键的方法:
alter table tasks add constraint pk primary key(id); 

批量替换一批记录中某个字段内容中的字符:
update tasks set name=replace(name,'stat','stat-old') where id>139 and id<156\G

//update '表名' set 要修改字段名 = replace (要修改字段名,'被替换的特定字符','替换成的字符')


授权

读、更新、删除权限:

GRANT SELECT,UPDATE,DELETE ON database.* TO user1@'hostname' IDENTIFIED BY 'passwd' WITH GRANT OPTION;
所有权限:
GRANT ALL PRIVILEGES ON *.* TO user2@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION;
flush privileges;


阅读(811) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~