ORACLE中添加删除主键 2008-12-11 10:19:33

本文介绍在Oracle数据库中如何创建、删除及添加主键约束的方法。包括在创建表时指定主键,通过ALTER TABLE命令移除现有主键约束,以及如何为已存在的表添加新的主键约束。
  ORACLE中添加删除主键  2008-12-11 10:19:33

分类: Oracle

1、创建表的同时创建主键约束
(1)无命名
create table student (
studentid int primary key not null,
studentname varchar(8),
age int);
(2)有命名
create table students (
studentid int ,
studentname varchar(8),
age int,
constraint yy primary key(studentid));


2、删除表中已有的主键约束
(1)无命名
可用 SELECT * from user_cons_columns;
查找表中主键名称得student表中的主键名为SYS_C002715
alter table student drop constraint SYS_C002715;
(2)有命名
alter table students drop constraint yy;


3、向表中添加主键约束
alter table student add constraint pk_student primary key(studentid);

为了完成本关任务,你需要掌握: 1、数据库( MySQL )建表。 2、Mysql 数据导入至 HDFS 中。 数据库( MySQL )建表 用命令进入 MySQL 客户端。 mysql -uroot -p123123 -h127.0.0.1 创建数据库hdfsdb(格式默认为utf8),并在数据库内建立表student,其表结构如下: 名 类 状态 stu_no int 主键 stu_name varchar(20) 学生姓名 stu_age int 学生年龄 在表内插入数据。 stu_no stu_name stu_age 202001 zhangsan 18 202002 lisi 19 202003 wangwu 20 检查是否成功。 MySQL数据导入至HDFS中 1、简单导入。 sqoop import --connect jdbc:mysql://127.0.0.1:3306/hdfsdb --username root --password 123123 --table student 这里没有指定 HDFS 的目录 默认会将数据存到系统当前登录用户下 以表名称命名的文件夹下。 系统默认为逗号隔开,如下图: 注意:如果数据库没有设置主键,语法需要加上--split by指定一个列去分割或用-m 1指定一个 Map 任务。 2、指定 HDFS 目录/user/root/hdfsdb导入,指定一个 MapReduce 任务。 sqoop import --connect jdbc:mysql://127.0.0.1:3306/hdfsdb --usernameroot --password 123123 --table student --target-dir /user/root/hdfsdb -m 1 --target-dir:指定 HDFS 目录。 -m 1:指定一个 MapReduce 任务。 3、指定查询学生的学号与学生姓名存入到/user/root/hdfsdb2中,指定一个MapReduce 任务,并以|分隔。 sqoop import --connect jdbc:mysql://127.0.0.1:3306/hdfsdb --username root --password 123123 --query 'select stu_no, stu_name from student where $CONDITIONS' --target-dir /user/root/hdfsdb2 --fields-terminated-by '|' -m 1 --query:通过用 sql 语句来将数据导入,where $CONDITIONS是query中固定语法,不可删去。 --fields-terminated-by:数据通过什么来隔开。 编程要求 根据上述,将 MySQL 数据库hdfsdb中的表数据导入至HDFS中,要求如下: 指定 HDFS 目录/user/root/hdfsdb3。 查询学生姓名与年龄。 指定一个 Mapreduce 任务。 存储以-来分割。 测试说明 点击测评,当你的结果与预期输出一致时,即为通过。 zhangsan-18 lisi-19 wangwu-20 root@educoder:~# mysql -uroot -p123123 -h127.0.0.1 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 38 Server version: 5.5.59-0ubuntu0.14.04.1 (Ubuntu) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
03-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值