mysql中的数据表操作

1 数据表的创建

详细情况可以参考创建表CREATE TABLE语法
关于constraint的使用可以参见mysql constraint

语法规范:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] <tbl_name>
(
    col_name type [NOT NULL | NULL] [DEFAULT default_value]
        [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
        [COMMENT 'string'],
    ... 
) [table_options] [select_statement];
实际上使用的时候:
    TEMPORARY一般不需要使用,这个关键字用于创建临时表
    if not exists建议使用
    括号中为实际字段的定义:
        type为数据类型
        NOT NULL | NULL:指定该列是否可以为空,如不指定则默认值为NULL
        DEFAULT:用于指定默认值,如果不指定则mysql自动分配。自动分配的默认值
            1. 默认为NULL
            3. 例外的情形:auto_increment-->下一个值; 表中第一个timestamp类型的列,为当前日期时间的timestamp;
        AUTO_INCREMENT: 从1开始, 必须被索引,一个表中只能有一个自增列
        UNIQUE
        KEY: index的同义词
        PRIMARY KEY: 隐式指定 NOT NULL, UNIQUE, 唯一。
table options通常用于指定engine和[DEFAULT] CHARACTER SET以及COLLATE

例:
    a. 创建普通表
        create table if not exists mytable
        (
            id    INT(11),
            name    VARCHAR(30)
        )ENGINE=MyISAM character set=utf-8;
    b. 设定主键
        i) 直接在列类型后面添加
            create table if not exists mytable
            (
                id    INT(11)    PRIMARY KEY,
                name    VARCHAR(30)
            );
        ii) 单独指定,该方法也可以用于创建多列联合主键
            [CONSTRAINT <主键名>] PRIMARY KEY(列名1 [ ,列名2,…])

            create table if not exists mytable
            (
                id    INT(11),
                name    VARCHAR(30),
                PRIMARY KEY(id)
            );
    c. 外键
        [CONSTRAINT <外键名>] FOREIGN KEY(列名1 [ ,列名2,…]) REFERENCES <主表名>(主键列1 [ ,主键列2,…])
2 数据表的结构
    a desc|describe直接查看表中的字段信息
        desc mytable;
    b show create查看表的创建信息
        show create table mytable;
3 修改表名
    语法规范:
    ALTER TABLE <旧表名> RENAME [TO] <新表名>;
    例:
    alter table mytable rename to new_name;
4 修改字段名
    ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;    
    例:
    alter table mytable change id myid int(11);
5 修改字段信息
    ALTER TABLE <表名> MODIFY <字段1> <数据类型> [FIRST|AFTER <字段2>];    
    a 修改字段的数据类型
        alter table mytable modify id int(10);

    b 修改字段的相对位置
        alter table mytable modify id int(10) after name;
6 添加字段
    ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST | AFTER 已存在字段名];
    这个方法也可以用来添加表的完整性约束。
7 删除字段
    ALTER TABLE <表名> DROP <字段名>;
    这个方法也可以用来删除PK, FK, Unique等约束
    ALTER TABLE <表名> DROP PRIMARY KEY|FOREIGN KEY|INDEX <字段名>;
8 修改存储引擎
    ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;
9 删除表
    独立表可以直接删除:
        DROP TABLE [IF EXISTS]表1, 表2, . . . 表n;
    对于有外键关联的表,需要删除表中或者主表中的外键字段,然后删除该表。
10 显示表
    show tables;
11 表的完整性约束
    a alter table add 添加
        alter table [table_name] add constraint [constraint_name] [unique| primary key|foreign key] ([column_names])
    b alter table drop删除
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值