您的位置:首页 > 数据库 > MySQL

MySQL学习笔记(六)

2010-11-28 18:50 246 查看
第六章 MySQL的数据定义语言 DDL

课程目录

MySQL数据库

MySQL表

MySQL视图

MySQL索引

MySQL存储过程/函数

1、数据库

1)语法

建库

create database [if not exists] 数据库名

create database 以给定名字创建一个数据库

在mysql中,数据库以包含数据库表对应文件的目录实现的。

因为数据库在初始创建时没有表,所以create database语句只在mysql

数据目录下创建一个目录

删除库

drop database [if exists] 数据库名

drop database 移除数据库的所有表并删除数据库

drop database返回数据库目录下删除的文件数目。通常,它是表的数目的三倍,

因为每张表对应一个'.myd'文件、一个'.myi'文件和一个'.frm'文件。

2、表

1)建表

use 库名;

create table 表名( 列1 类型[选项],..);

键一个表就建立了三个文件

tbl_name.frm 表格式(定义)文件

tbl_name.myd 数据文件

tbl_name.myi 索引文件

2)删除表

drop table 表名;

3)修改表名称 t1->t2

alter table t1 rename t2;

4)修改表结构

为了改变列a,从integer改为tinyint not null,

并且改变列b,从char(10)改为char(20),同时重命名,从b改为c。

alter table t2 modify a tinyint not null,change b c char(20);

增加一个新的timestamp列,名为d

alter table t2 add d timestamp;

增加一个新的auto_increment整数列,命名为c:

alter table t2 add c int auto_increment,add index(c);

注意,我们索引了c,因为auto_increment列必须被索引

删除列c:

alter table t2 drop column c;

3、视图

1)创建视图

create view test as select * from t;

2)修改视图

alter view test sleect * from tt;

3)删除视图

drop view test;

4、索引

1)添加/删除匿名索引

在列d上增加一个索引,列b是唯一索引,并且使列a为主键:

alter table t2 add index(d),add unique index(b),add primary key(a);

alter table t2 drop index d,drop index b,drop primary key;

添加/删除索引

create index idx_t2 on t2(d);

drop index idx_t2 on t2;

5、存储过程和函数

1) 存储过程

mysql->delimiter //

mysql->create procedure simpleproc(out param1 int)

->begin

-> select count(*) ino param1 from t;

->end

->//

mysql->delimiter ;

mysql->call simoleproc(@a);

mysql->select @a;

---------

|@a |

---------

|3 |

---------

2) 存储函数

字符串拼接函数hello()

mysql->delimiter //

mysql->create function hello(s char(20) returns char(50))

->return concat('hello,',s,'!');

->//

mysql->delimiter ;

mysql->select hello('world');

---------------------

|hello('world') |

---------------------

|hello,world! |

---------------------

-----------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: