首页 > 技术文章 > 操作表

aganblog 2021-09-30 12:04 原文

1.创建表
  CREATE[TEMPORARY] TABLE[IF NOT SEISTS] tb1_name
    [(create_definition,...)]
    [table_options][select_statement]
  或:
  CREATE[TEMPORARY] TABLE[IF NOT EXISTS] tb1_name
    [(] like_old_tb1_name[)];
  CREATE TABLE 用于创建带给定名称的表.你必须拥有表create权限
  允许的表名称的规则列于9.2节,"数据库,表,索引,列和列名"中.默认的情况是,表被创建到当前的数据库中,如果表已存在,或者如果没有当前数据库或者如果数据库不存在,则会出现错误
  表名称被指定为db_name.tb1_name,以便在特定的数据库中创建,不论是否有当前数据库,都可以通过这种方式创建表,如果你使用家引号的识别名,则应对数据库和表名称分别加引号,例,'mydb'.'mydb1'是合法的,但是'mydb.mytb1'不合法.
  在创建表格时,你可以使用temporary关键字.只有在当前连接情况下,temporary表才是可见的,当链接关闭时,temporary表被自动取消,这意味着两个不同的链接可以使用相同的临时表名称,同事两个临时表也不会仙湖冲突,也不与原有的同名的非临时表冲突(原有表被隐藏,知道临时表被取消时为止) 你必须拥有Crete temporary tables权限才能穿件临时表如果表预警存在,则使用关键字if not exists可以防止发生错误,注意,原有表的结构与create table语句中表示的表的结构是否相同,这一点没有验证,注释:如果你在create table...select语句中使用if not exists,则不论表是否存在,由select部分选择的记录都会被插入

  create table 表名(
    字段名 字段类型,
    字段名 字段类型,
    ...
  );
  Java和mysql的数据类型比较:
    byte tinyint
    short smallint
    int int
    long bigint
    float float
    double double
    boolean bit
    String char(n) varchar(n)
    Data Data, Time DataTime, TImestamp
    FileInputStream Bolb
    FilderReader Text

  区别:
    char(n)类型是订长的,没有打到上限会用空白填充,使用它执行效率高
    varchar(n)是可变长度,是按照实际长度计算,但是执行效率低下
  与Oracle的区别:
    数字类型的数据,在Oracle中数据类型都是使用number
    在Oracle数据库中,字符类型使用的是varchar2()
    在Oracle数据库中没有Text类型.有的是clob

  eg:
    创建一个学生表:
      create table students(
        id int,
        name varchar(32),
        gender bit,
        age int
      );
  eg:
    创建一个员工表:
    create table employee(
      id int primary key auto_increment,
      name varchar(32),
      gender bit default 1,
      birthday date,
      entry_data date,
      position varchar(16),
      salary double,
      resume text
    );

  约束:
    primary key : 主键
    unique : 唯一
    not null : 不为空
    auto_increment : 自动增长
2.查看表
  1.查看数据库中所有的表
    show tables;
  2查看表结构
    desc 表名;
  3查看建表语句
    show create table 表名;

3.修改表结构
  1.增加一列(字段)
    alter table 表名 add 列名 类型名
  2.在指定为止增加列(字段)
    alter table 表名 add 要增加的字段名 要增加的字段类型 after 原表中的字段名
    alter table 表名 add 要增加的字段名 要增加的字段类型 before 原表中的字段名
  3.修改某个列的类型:
    alter table 表名 modify 列名 类型;
  4 修改列的名称
    alter table 表名 change 列名 新列名 类型;
  5.删除某一列
    alter table 表名 drop 新表名
  6.修改表名称
    rename table 表名 to 新表名
  7.修改表所使用的字符集
    alter table 表名 character set utf8;
4.删除表
  drop table 表名;

推荐阅读