Chinaunix首页 | 论坛 | 博客
  • 博客访问: 424331
  • 博文数量: 158
  • 博客积分: 1855
  • 博客等级: 上尉
  • 技术积分: 1888
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-18 14:19
文章分类

全部博文(158)

文章存档

2013年(4)

2012年(16)

2011年(10)

2010年(40)

2009年(61)

2008年(33)

分类: Mysql/postgreSQL

2008-12-12 20:01:59

在数据库中的每个表对应三个文件:.frm(表格式文件),.myd(数据文件data),.myi(索引文件index)
查看数据库/表:show databases/tables; use databasename;
创建数据库:create database (if not exists) school;
删除数据库/表:drop database databasename;drop table tablename;
建表:create table teacher
    (Id int(5) auto_increment not null primary key,
     name varchar(10) not null,
     address varchar(50) default 'wuhan university',
     year date
    );
查看表/视图的结构:desc/describe table_name/view_name [列名];
例: desc t 'q%'(查看t表中以q开头的字段的结构)
    desc t 'q_'(查看t表中以q开头的共两个字符的字段的结构)
修改表中的数据:update tablename
             set 字段=值
             where
修改表结构:alter table tablename
修改表名称:alter table tablename1 rename tablename2;
1、改变列a,从integer改为tinyint not null(列名不变),并且改变列b,从char(10)改为char(20),同时重命名它,从b改为c
  alter table teacher modify a tinyint not null,change b c char(20);
2、增加一个auto_increment整数列,命名为c
  alter table teacher add c int auto_increment,add index(c);
  注意,我们索引了c,auto_increment列必须被索引
3、删除列c
   alter table teacher drop column c;
 
视图:create table t(qty int,price int);
     insert into t values(3,50);
     create view v as select qty,price,qty*price as values from t;
删除视图:drop view v;
 
索引:
1、添加/删除匿名索引
  在列d一增加一个索引,列b是唯一索引,并使列a为主键
  alter table t2 add index(d),add unique index(b),add primary key(a);
  alter table t2 drop d,drop b,drop primary key;
2、添加/删除索引
  create index inx_t2 on t2(d);
  drop index inx_t2 on t2;
 
 create unique index index_t2 on t2(d);
 drop index index_t2 on t2;
 
存储过程:
delimiter //(定义分隔符,默认的是";",当遇到;回车时将执行,为了不让语句执行但又可以换行,所以定义分隔符,定义过存储过程后再把分隔符定义成";")
create procedure simpleproc (out param int)
begin
select count(*) into param from table_name;
end
//
delimiter ;
call simpleproc(@a)调用存储过程
select @a;
 
阅读(964) | 评论(0) | 转发(0) |
0

上一篇:fflush/sleep

下一篇:C打印一个菱形diamond.c

给主人留下些什么吧!~~