• 技术文章 >数据库 >mysql教程

    mysql、sqlserver、oracle三种数据库维护索引、外键、字段语法总结_MySQL

    2016-06-01 13:04:30原创373

    mysql、sqlserver、oracle三种数据库维护索引、外键、字段语法总结

    1. MYSQL数据库

    1) 创建索引

    CREATE INDEX index_name ON table_name(column_list)

    CREATE UNIQUE INDEX index_name ON table_name(column_list)

    修改表的方式添加索引

    ALTER TABLE table_name ADD INDEX index_name(column_list)

    ALTER TABLE table_name ADD UNIQUE (column_list)

    ALTER TABLE table_name ADD PRIMARY KEY(column_list)

    2) 删除索引

    DROP INDEX index_name ON talbe_name

    修改表的方式删除索引

    ALTER TABLE table_name DROP INDEX index_name

    ALTER TABLE table_name DROP PRIMARY KEY

    3) 创建外键

    修改表的方式添加外键

    ALTER TABLE TABLE_NAME
    ADD [CONSTRAINT 外键名]FOREIGN KEY (index_col_name, ...)
    REFERENCES tbl_name (index_col_name, ...)

    举例:

    ALTER TABLE TABLE_NAME ADD CONSTRAINT FK_NAME(user_id)

    REFERENCE sys_user(id)

    需要注意两个字段的数据类型一致;

    4) 删除外键

    ALTER TABLE sys_org DROP FOREIGN KEY fk_s_o_id;

    5) 列操作语法

    ? 添加列 birthday ,有COLUMN关键字

    alter table sys_useradd COLUMN birthday char(19) not null;

    ? 修改列 birthday ,有MODIFY 关键字

    alter table sys_usermodify birthday char(10);

    ? 删除列 birthday,有 DROP COLUMN关键字

    alter table sys_userdrop column birthday;

    ? 修改列名称及属性;把birthday修改成CSRQ ,并改属性为char(10) 和不允许为空not null

    alter table sys_userchange birthday CSRQ char(10) not null;

    2. SQL SERVER 数据库

    1) 创建索引

    create UNIQUE INDEX un_index_name on sys_user(user_name);

    2) 删除索引

    DROP INDEX un_index_name ON sys_user

    3) 创建外键

    alter table sys_org add CONSTRAINT fk_s_o_id FOREIGN key(create_user)

    REFERENCES sys_user(id);

    与mysql一致,需要注意两个字段的数据类型一致;

    4) 删除外键

    ALTER TABLE sys_org DROP constraint fk_s_o_id;

    与mysql语法不同

    5) 列维护语法

    6) 添加列 birthday ,有COLUMN关键字

    alter table sys_user add birthday char(19) not null;

    7) 修改列 birthday属性 ,有alter column 关键字

    alter table sys_user altercolumn birthday char(10);

    8) 删除列 birthday,有 DROP COLUMN关键字

    alter table sys_user dropcolumn birthday ;

    9) 修改列名称及属性;把birthday修改成CSRQ ,并改属性为char(10) 和不允许为空not null;需要分成两步执行;

    exec sp_rename 'sys_user.[birthday]','CSRQ','COLUMN';

    alter table sys_user altercolumn CSRQ char(10) not null;

    3. ORACLE 数据库

    1) 创建索引

    CREATE INDEX index_name ON table_name(column_list)

    CREATE UNIQUE INDEX index_name ON table_name(column_list)

    create INDEX ind_s_u_sex on sys_user(sex);

    2) 删除索引

    DROP INDEX [schema.]indexname;

    drop index ind_s_u_sex;

    3) 创建外键

    修改表的方式添加外键

    ALTER TABLE TABLE_NAME
    ADD [CONSTRAINT 外键名]FOREIGN KEY (index_col_name, ...)
    REFERENCES tbl_name (index_col_name, ...)

    举例:

    ALTER TABLE TABLE_NAME ADD CONSTRAINT FK_NAME(user_id)

    REFERENCE sys_user(id)

    需要注意两个字段的数据类型一致;

    4) 删除外键

    ALTER TABLE TABLE_NAME DROP CONSTRAINT FK_NAME;

    举例:

    ALTER TABLE sys_org drop constraint fk_s_o_id;

    5) 列操作语法

    ? 添加列 birthday , 有add关键字

    alter table sys_useradd birthday char(19) not null;

    ? 修改列 birthday ,有MODIFY 关键字

    alter table sys_usermodify birthday char(10);

    ? 删除列 birthday,有 DROP COLUMN关键字

    ALTER TABLE sys_user DROPCOLUMN birthday;

    ? 修改列名称及属性;把birthday修改成CSRQ ,并改属性为char(10) 和不允许为空not null;需要分成两步执行;

    ALTERTABLE sys_user RENAME COLUMN birthday to CSRQ;

    ALTER TABLE sys_user MODIFYCSRQ char(10) ;

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:字段 语法 索引
    上一篇:【MySQL案例】tpcc--执行tpcc_load报错errorwhileloadingsharedlibraries_MySQL 下一篇:window平台如何搭建Mysql集群_MySQL
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• mysql中pid文件丢失怎么办• mysql启动报错1067怎么办• mysql删除主键的语句是什么• mysql多个条件怎么查询• mysql怎么查询慢的sql语句
    1/1

    PHP中文网