数据库、数据表的创建详细
2017-04-18 21:35
351 查看
数据库操作
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语句。
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语句。
相关文章推荐
- asp.net mvc 3.0详细笔记__09__创建数据库,应用EF连接模型类和数据表
- php+sql创建本地项目详细步骤3——查看与删除数据库数据
- php+sql创建本地项目详细步骤4——编辑更新数据库数据
- php+sql创建本地项目详细步骤1——创建数据库数据表,数据库连接
- 使用 SQL SERVER 2005 新增功能--- DDL_DATABASE_LEVEL_EVENTS 数据库级的触发器,创建数据库日志表
- 使用navicat8实现创建数据库和导入数据[图文]
- 安装时创建数据库、数据表等,同时添加初始数据
- 从数据库中读取数据创建菜单
- 数据库创建各个规则举例详细讲解
- discuz论坛数据库各个数据表的详细说明 DISCUZ论坛数据字典
- 【题目】从ACCESS读取数据到ArcGIS个人数据库并创建Feature Class(point)
- 【说明】从ACCESS读取数据到ArcGIS个人数据库并创建Feature Class(point)
- PHP 操作数据库 创建数据库,导入数据文件,备份数据库
- mysql批量创建数据库 导数据
- DDL_DATABASE_LEVEL_EVENTS 数据库级的触发器,创建数据库日志表
- Android创建和使用数据库详细指南
- BuildForge 删除了数据库数据后如何创建初始数据
- WEB程序打包的详细方法,并自动创建数据库
- 28.6.1 如何获得数据库创建过程中的详细信息
- mysql jsp 解决乱码 创建数据库 数据表 方法