数据库、数据表的创建详细

数据库操作

1.选择数据库 USE db_name

2.创建数据库  CREATE DATABASE [IF NOT EXISTS] db_name  [CHARACTER   SET   charset  ]  [COLLATE   collation];

在创建表示,MYSQL服务器会在其数据目录下创建一个目录,其名与数据库名相同。服务器还会在这个目录下创建一个名为db.opt文件,用于存储一些属性,如数据库的字符集和排序规则。

3.查看现有数据库定义 SHOW CREATE DATABASE db_name;

4.删除数据库 DROP DATABASE db_name;

一个数据库就是MYSQL数据目录里的一个目录,这个目录主要用于存放对象,如表、视图和触发器。如果DROP DATABASE 语句执行失败,那么通常是因为那个数据库的目录里面还包含有一些与数据库对象无关的文件。DROP DATABASE 语句不会删除这类文件,因而也就不会删除那个目录。这意味着,那个数据库目录依然存在,并且调用SHOW DATABASE 语句,它乃会显示出来。想要真正删掉那个数据库,就要手动删除该数据库子目录里残留文件和目录,然后再调用DROP DATABASE。

5.更改数据库的全局属性,目前数据库的全局属性只包含默认字符集和排序规则   ALTER DATABASE  [db_name]  [CHARACTER  SET   charset ] [COLLATE  collation];


存储引擎

MYSQL 的存储引擎主要是InnoDB和MyISAM,在一开始MYSQL 服务器都是把存储引擎编译在内部,以供使用,现在,它采用了一种“可插入”的架构,可以实现选择性的插件加载,并且许多存储引擎都被构建成了插件。

查出自己的服务器都知道哪些存储引擎的方法是,使用SHOW ENGINES,Support 栏的YES或NO值表示该存储引擎是否可用;DISABLED 的意思是该存储引擎存在,但它已经被关闭;DEFAULT 表示它是服务器默认使用的存储引擎.;Transactions栏表示的是存储引擎是否支持事务处理;XA和Savepoints栏表示存储引擎是否支持分布式事务和部分事务回滚。
INFORMATION_SCHEMA数据库的ENGINES表里,提供了SHOW ENGINES 语句所表示内容完全一样的信息,同时可以通过select语句进行条件查询。

需用某个索引后,可以通过修改相关系统变量,对存储索引进行配置。


数据表操作

每次创建表时,MYSQL都会创建一个磁盘文件,用于保存表的格式(即它的定义)。这个格式文件的基本名与表明相同,扩展名为.frm  同时各个存储引擎还可能会为表再创建几个特定的文件,用以存储表的内容。

创建表 CREATE TABLE [ IF NOT EXISTS]  table_name(.......)[0个或多个表选项]

表选项,以选择存储引擎为例:

指定一个特定的存储引擎:

CREATE TABEL mytb1(.....)  ENGINE =ARCHIVE;

如果所给名字指定的那个存储引擎未启用,则会看到两条警告信息,可以通过SHOW WARNINGS;来查看。一定要保证CREATE TABLE 语句没有产生任何警告信息-----它们经常是提示所指定的存储引擎不可用,并且用哪个提示使用了默认的存储引擎来代替。如果想让MYSQL在指定的存储引擎不可用时产生一个错误,而不是使用默认的存储引擎,则需要启用SQL 的NO_ENGINE_SUBSTITUTION模式。

查看表的定义

创建完表后我们可以通过SHOW CREATE TABLE tb_name或者SHOW  TABLE STATUS;INFORMATION_SCHEMA.TABLES表的输出类容 来检查是表的信息否正确;

INFORMATION_SCHEMA.TABLES表的输出类容为例

select * from  INFORMATION_SCHEMA.TABLES where TABLE_NAME='t' \G;

修改表的信息

例如将存储引擎更改为InnoDB

ALTER TABLE t ENGINE=InnoDB;

TEMPORARY 表

CREATE TEMPORARY TABLE  tbl_name......;创建一个临时表,会在服务器的会话终止时自动消失。TEMPORARY只对创建该表的客户端可见。所以不同的用户可以创建具有相同名字的TEMPORARY表,而不会发生冲突。如果创建的TEMPORARY表与某个已有的永久表名字相同,那么已有的永久表名字相同会被隐藏起来,知道TEMPORARY表被删除。


删除表 DROP TABLE [IF EXISTS] tb_name

为了保证删除的是TEMPORARY表,而不是永久表,最好用DROPTEMPORARY  TABLE语句。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值