首页 > 代码库 > mysql数据库的库和表相关命令

mysql数据库的库和表相关命令

数据库的创建、删除

一、数据库相关的命令

数据库的创建

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索引

本文出自 “linux学习之路” 博客,请务必保留此出处http://xslwahaha.blog.51cto.com/4738972/1576682

mysql数据库的库和表相关命令