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

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) ;

时间: 2024-10-13 12:43:09

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

qlserver、Mysql、Oracle三种数据库的优缺点总结

这篇文章主要介绍了sqlserver.Mysql.Oracle三种数据库的优缺点总结,需要的朋友可以参考下 一.sqlserver优点:易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能.与许多其他服务器软件紧密关联的集成性.良好的性价比等:为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势.从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要.作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应

[转载]sqlserver、Mysql、Oracle三种数据库的优缺点总结

一.sqlserver优点:易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能.与许多其他服务器软件紧密关联的集成性.良好的性价比等:为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势.从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要.作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序.为企业赢得核心竞争优势打开了胜利之门.作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLServ

sqlserver、Mysql、Oracle三种数据库的优缺点总结

一.sqlserver 优点: 易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能.与许多其他服务器软件紧密关联的集成性.良好的性价比等; 为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势.从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要.作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序.为企业赢得核心竞争优势打开了胜利之门.作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLS

2-16 MySQL字段约束-索引-外键

一:字段修饰符 1:null和not null修饰符 我们通过这个例子来看看 mysql> create table worker(id int not null,name varchar(8) not null,pass varchar(20) not null); mysql> insert into worker values(1,'HA','123456'); mysql> insert into worker values(1,'LB',null); ERROR 1048 (2

总结: MySQL(基础,字段约束,索引,外键,存储过程,事务)操作语法

1. 显示数据库列表 show databases; # 查看当前所有数据库 show databases \G   #以行的方式显示 2. 在命令行中,执行sql语句 mysql -e 'show databases' -uroot -p123456 mysqlshow -uroot -p123456 # 不常用,记住上面那个就行了 3.创建数据库语法 create database 数据库名; 例如: create database `HA-test`; 4. 切换数据库 use HA-te

Hibernate 配置连接MySQL/SQLServer/Oracle数据库

用Hibernate配置连接数据库可以方便我们对POJO的操作,节省了很多时间和代码.下面就分别说明连接不同数据库需要在hibernate.cfg.xml做的配置. 需要数据库驱动包可以点击这里下载:数据库Jar包下载地址:http://pan.baidu.com/s/1jGKEEY6  密码:okq0 1.Hibernate连接MySQL数据库 1 <?xml version='1.0' encoding='UTF-8'?> 2 <!DOCTYPE hibernate-configur

2-13-MySQL字段约束-索引-外键

高版本导出报错问题,是由于高版本对导出文件优化了权限设置, show variables like '%secure%';查看权限是NULL就代表禁止导出 在配置文件my.cnf [mysqld]下加secure_file_priv=指定导出目录 本节所讲内容: 1.  字段修饰符 2.  清空表记录 3.  索引 4.  外键 5.     视图 一:字段修饰符 (约束) 1:null和not null修饰符 我们通过这个例子来看看 mysql> create table worker(id

MySQL创建数据表并建立主外键关系

为mysql数据表建立主外键需要注意以下几点: 需要建立主外键关系的两个表的存储引擎必须是InnoDB. 外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型. 外键列和参照列必须创建索引,如果外键列不存在索引,mysql将自动创建索引. 一.SQL语句创建数据表并设置主外键关系 create table demo.ChineseCharInfo ( ID int not null auto_increment, Hanzi varchar(10) not null, primary

SQLserver中的视图与主外键的创建

一.背景 原来学过数据库的相关内容,只是形式上的,从来也没有实践过,徐徐飘过而已,如今在做机房时,很多知识需要用到视图,才开始去慢慢的实践. 视图:我理解的就是一张表,它把我们所需要的某个表或某几个表中的部分信息提取出来,形成了一张临时的表. 它主要有两个优点:1.简单,它呈现给我们的数据就是我们想要的数据,没有多余的. 2.安全,提供给用户它们权限范围内的数据 我为什么会用到视图?举一个简单的例子,在查询用户信息时,我们可能会用到两张表中的内容.那么这个时候我就需要将两张表中我需要的数据提取出