3.数据库的创建和操纵表

一、数据库的创建
    1.创建数据库
    CREATE {DATABASE|SCHEMA}[IF EXISTS] db_name
    [create_specification]...
    其中create_specification格式为:
    [DEFAULT] CHARACTER SET [=] charset_name|
    [DEFAULT] COLLATE [=] collation_name
    举例:
    
    2.选择数据库可使用USE来指定其为当前数据库
    USE db_name;   
    3.修改数据库
    ALTER {DATABASE|SCHEMA} [db_name]
        alter_specification...
    或者:
    ALTER {DATABASE|SCHEMA} db_name
       UPGRADE DATA DIRECTORY NAME
    其中,alter_specification格式为:
    [DEFAULT] CHARACTER SET [=] charset_name |
    [DEFAULT] COLLATE [=] collation_name
    举例:修改数据库mysql_test的默认字符集和校对规则:
    
    4.删除数据库:
    DROP {DATABASE|SCHEMA} [IF EXISTS] db_name
    举例:
    
    注意:mysql安装后,会自动创建名为information_schema和mysql的2个系统数据库,若删除后则mysql不可正常运转。
    5.查看数据库:
    SHOW  {DATABASE|SCHEMA}
        [LIKE 'pattern'| WHERE expr]    -- like用于匹配指定的库名;where指定库名称查询范围的条件
    举例:
    
    
    如上图,show character set:用来查询数据库的字符集
                  show collation:用来查询校对规则
二、表的创建
    1.创建表
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tb1_name
        [(create_definition,...)]           //表创建定义
        [table_options]                      // 表选项
        [partition_options]                // 分区选项
    举例: 创建表:
    
    查询下表结构:
    
    auto_increment:设置字段值为自增的,字段类型必须为整型
    default 0:默认值
    null:不设置默认为null 设置为not null 则字段不允许为空
    primary key:设置主键
    engine=innoDB:设置数据库引擎,不设置默认为innodb
 三、表的更新
    常用语法:
  1. ALTER [ONLINE|OFFLINE][IGNORE] TABLE tablename
  2. [alter_specification[,alter_specification]...]
  3. [partition_options]
   1. ignore:修改表时存在重复关键字,指定ignore可以防止操作失败,对于有重复的行只选第一行,其余有冲突的被删除
   2.add column:增加新列,如图:
        
        备注:after用来设置增加列的位置(示例中在job后),还有first用来将列放在表的第一个字段,默认放最后一列
    3.change column:修改指定列名称和数据类型,如图
        -->将列wid改为id名称,且长度变为20
    4.alter column:修改或删除指定列的默认值
        -->设置gender默认值为default 
    5.modify column:只修改指定列的数据类型,不改名称
        -->修改username类型为char长度20    
    6.drop column:删除列,删除后列中所有数据都丢失
        -->删除resume列
    7.rename to:修改表的名字
        --worker表改名为wk
    8.rename table:重命名表,效果同7
        
    9.复制表:用created...like,如图
        
    10.删除表:drop table[if exists] tablename    注意:删除后数据被删,但用户权限不会被删
    11.查看表
        显示表名:show tables
        显示表结构:show columns from tablename 或者desc tablename





posted on 2015-07-30 23:32  georgetest  阅读(253)  评论(0编辑  收藏  举报

导航