页次: 1
创建数据库用 create database db_name;
删除数据库用 drop database db_name;
创建数据表用 create table tb_name;
删除数据表用 drop table tb_name;
一个mysql 服务器中, 可以存在多个数据库, 一个数据库中可以存在多个 表。
创建了一个数据库在文件系统中做了什么?
做个测试首先创建一个数据库
mysql> create database www_ipbbs_net; Query OK, 1 row affected (0.00 sec)
查看mysql的配置文件, 这里linxu centos 作为例子
cat /etc/my.cnf
[root@ipbbs ~]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
可以看出, datadir 的目录是 /var/lib/mysql
ls /var/lib/mysql/ db1 ibdata1 ib_logfile0 ib_logfile1 mysql mysql.sock www_ipbbs_net
可以看到最后多了一个文件夹 www_ipbbs_net
# ls /var/lib/mysql/www_ipbbs_net db.opt
仅仅有文件db.opt ,
所以可以这样说一个mysql的数据库,在文件系统中对应一个文件夹。
之后创建一个表看看, 发生了什么
mysql> use www_ipbbs_net; Database changed mysql> create table tb001 (id int unsigned not null); Query OK, 0 rows affected (0.00 sec)
[root@ipbbs ~]# ls /var/lib/mysql/www_ipbbs_net db.opt tb001.frm tb001.MYD tb001.MYI
可以发现多了三个表, 一个 .frm , 一个 .myd 一个 。myi
.frm 表示表的结构
.MYD 表示表的记录
.MYI 表示表的索引
也就是说 mysql中一个表对应了三个文件。
删除示例 示例代码
mysql> use www_ipbbs_net; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> mysql> drop table tb001; Query OK, 0 rows affected (0.00 sec) mysql> drop database www_ipbbs_net; Query OK, 0 rows affected (0.00 sec)
ipbbs.net
离线
页次: 1