MySQL管理表和索引

MySQL管理表和索引

创建数据库:
    CREATE DATABASE|SCHEMA [IF NOT EXISTS] db_name [CHARACTER SET=] [COLLATE=]  
删除数据库:
    DROP {DATABASE | SCHEMA} [IF EXISTS] db_name    

创建表: 
1、直接定义一张空表; 
2、从其它表中查询出数据,并以之创建新表; 
3、以其它表为模板创建一个空表;

1.  
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...)
    [table_options]
    [partition_options]
2.
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    [(create_definition,...)]
    [table_options]
    [partition_options]
    select_statement
通过select查询语句创建表时,创建的表可能和被查询表的格式定义不太一样
3.
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    { LIKE old_tbl_name | (LIKE old_tbl_name) } 
  创建表时定义其中的字段类型时为数值时 加  unisined表示无符号数值类型(只有正数)。
               例如create table 表名 ( id int unisgned ) ; id列的值只能为正数
 

修改表定义: 
ALTER TABLE 
添加、删除、修改字段 
添加、删除、修改索引 
改表名 
修改表属性

 

删除表:        
DROP [TEMPORARY] TABLE [IF EXISTS]
    tbl_name [, tbl_name] ...
    [RESTRICT | CASCADE]    

InnoDB支持外键
键也称作约束,可用作索引,属于特殊索引,BTree

索引由数据表中的一列或多列组合而成,创建索引的目的是为了优化数据库的查询速度。其中用户创建的索引指向数据库中具体数据的位置。当用户通过索引查询数据库中的数据时
不需要遍历所有数据库中的数据,提高了查询效率,索引是一种将数据库中的单列或多列的值排序的结构
  用户通过索引查询数据,系统可以不必遍历数据表中的所有记录,而是查询索引列,一般的过程的数据查询是通过遍历全部数据,并寻找数据库中的匹配记录而实现的

SHOW {INDEX | INDEXES | KEYS} FROM tb_name:显示指定表上的索引
DESC table_name  显示表结构
索引创建:
    CREATE INDEX index_name ON tb_name (col,...);
   col_name [(length)] [ASC | DESC]
    
       create  index 索引名  on 表名 (字段名(长度)     aes|desc)
      创建索引时 字段名(长度)  中"(长度)"表示只索引最左边的几个字符

删除索引:
    DROP INDEX index_name ON tbl_name   

原文来自 http://www.cnblogs.com/xiaonengsho/p/8556292.html 

posted @ 2018-03-13 14:01  IT小能手  阅读(231)  评论(0编辑  收藏  举报