在数据库中的每个表对应三个文件:.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;
阅读(1009) | 评论(0) | 转发(0) |