数据库的创建、删除
一、数据库相关的命令
数据库的创建
create {database|schema} db_name [character set=] [collate = ];创建数据库。如果数据库以存在会报错
create {database|schema} [if not exists] db_name [character set=] [collate = ];表示如果这个数据库不存在则创建
其中[character set = ] 用来设置默认字符集
[collate = ]用来设定排序规则
数据库的删除
drop {database|schema} [if existx] db_name;删除某个数据库
修改数据库的默认字符集和排序规则
ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
查看所有的数据库
show {databases|schemas};
use db_name 选择某个数据库
如果想获取更多关于如何创建、删除数据库,可以使用如下命令:
mysql>help KEYWORD
例如:help create database; or help drop database;
二、与表相关的命令
表的创建
创建表有三种方式:
1、直接定义一张空表
create table tb_name(colum1,colum2...date_type [primary key] [not null] [unsigned] [default value] [unique key]) [tables_options]; 由于创建表就是创建列的过程,因此括号内的参数就是列的属性字段。
提示:如果在创建表的时候,有多个字段一起作为主键(primary key)和唯一键(unique key),那么可以在创建表的时候,单独定义。当然一个字段作为主键和唯一键也可以单独定义。
例如:CREATE TABLE tb2 (id INT UNSIGNED NOT NULL AUTO_INCREMENT, Name CHAR(20) NOT NULL, Age TINYINT NOT NULL, PRIMARY KEY(id,name),INDEX(age))
2、使用select查询语句从其他表中查出数据,并以之创建为表
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[(create_definition,...)]
[table_options]
select_statement
使用该方法创建的表的表结构会发生改变,不会和select_statement中的表的表结构相同
3、以其他表为模板创建一个空表
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | (LIKE old_tbl_name)
使用该方法创建的表的表结构和模板表的表结构相同
[tables_options]
在创建表的时候,可以指定一些选项。其中,常见的选项有这些:
ENGINE [=] engine_name 指定表的储存引擎
[DEFAULT] CHARACTER SET [=] charset_name 设定默认字符集
[DEFAULT] COLLATE [=] collation_name 设定默认排序规则
MAX_ROWS [=] value 指定允许表创建的最大行数
删除表
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name
修改表
alter table tb_name
MODIFY [COLUMN] col_name column_definition:表示修改字段的属性参数(字段后的参数)
CHANGE [COLUMN] old_col_name new_col_name column_definition:表示修改字段名称
ADD [COLUMN] (col_name column_definition,...):表示增加某些列
ADD {INDEX|KEY} [index_name] [index_type] (index_col_name,...) [index_option]
增加索引字段
DROP [COLUMN] col_name 删除某字段
| DROP PRIMARY KEY 删除主键
| DROP {INDEX|KEY} index_name 删除索引
| DROP FOREIGN KEY fk_symbol 删除外键
表的重命名
mysql> RENAME TBALE old_table TO new_tables;
查看表的相关命令
show tables from db_name;查看库中的表
desc tb_name;查看表的结构
更多相关命令的使用,使用help KEYWORD来获得
创建索引
CREATE INDEX index_name [index_type] ON tb_name (col_name [(length)] [ASC | DESC],...);
其中length表示能够索引的长度,[ASC | DESC]表示以升序或降序的方式排列起来。
SHOW INDEX FROM tb_name:显示指定表上的索引
键也称作约束,可用作索引,属于特殊索引(有特殊限定):默认索引类型为B+Tree
索引类型有:BTREE和HASH索引