目录
一、数据库表的创建
1.1 直接创建一个表
CREATE TABLE table_name (
column_1 data_type column_constraint,
column_2 data_type column_constraint,
...
);
上述sql中,table_name为自己要创建的表的表名,括号里面包括表的列,以及列的约束;column_1为列名,data_type为列的数据类型,column_constraint为该列拥有的约束.
以下为一个简单的示例:
create table test(u_id number(5) constraint id primary key,
u_name varchar2(10),
u_gender char(2),
u_address varchar(20)
)
上述sql创建了一个名为test,列属性为u_id,u_name,u_gender,u_address的表,并且创建了一个约束为id的主键。
2.2 利用现有的表创建一个表
create table table_name1 as select * from table_name2
table_name1为新表名称,table_name2为现有表的名称,"*"代表将table_name2的全部列复制到新表中,如果只想复制某些列的话,将"*"替换为列名称就行,每个列名称用","隔开。
二、表结构的修改
2.1 Alter关键字
在Oracle中,我们使用alter关键字来对表结构修改,可以对表进行添加/删除列、修改列定义、重命名列、重命名表等操作。
2.1.1 添加列属性
alter table table_name add column_name type constraint constraint_name ...
上述sql语句可以为表添加一个属性,其中table_name为表的名称;column_name为我们要添加列的名称,type为列的属性;constraint_name为我们自定义的约束名称,...为我们的约束条件(主键、外键、索引、not null等)。以上述test表为例,我们为其添加一个u_age属性,类型为number。
alter table test add u_age number ;
2.1.2 修改列属性
alter table table_name modify column_name type
上述sql中,table_name为表明;modify是orcale中的关键字,用来修改列属性;column_name为列名,type为修改后列的类型。下面,我们将test表中的u_address改为char(25)(原来是char(20))。
alter table test modify u_address char(25)
2.1.3 重命名列
alter table table_name rename column column_name to new_column_name
上述sql中,我们使用rename关键字来重命名现有列,table_name为表名;column_name为原列名,new_column_name为新的列名。下面,我们将test表中的u_age改为age。
alter table test rename column u_age to age
2.1.4 删除列
alter table table_name drop column column_name
使用drop关键字来删除某一列,table_name为表名;column_name为列名。下面,我们将test表中的age列删除。
alter table test drop column age
三、修改表名
alter table table_name rename to new_table_name
我们也可以使用alter关键字来修改表名,其中table_name为表的原名;new_table_name为修改后表的名字。
四、删除表
drop table table_name
使用drop关键字可以将现有的表删除。
五、给某一列添加注释
comment on column table.column_name is 'message';
可以通过comment on 来给表的某一列添加注释,其中table为表名, column_name为列明,message为注释。
六、对表中数据的操作
6.1 查询数据
select coulmn_name1,column_name2,column_name3,... from table_name
使用select关键字来进行数据查询,其中column_name为列名(我们可以指定多个列来进行查询,列名之间用‘,’隔开,如果需要全部列查询,则用‘*’代替列名)。下面我们从test表中进行查询数据。
# 从test表中查询姓名这一列的数据
select u_name from test
# 从test表中查询所有数据
select * from test
6.2 插入数据
insert into table_name(coulmn_name1,column_name2,...) values(data1,data2,...)
使用insert关键字想表中插入数据,其中cloumn_name为列名,values为列对应的值。想test表中添加一行数据(1,'Tom','男','127.0.0.1','2023-07-03');
insert into test(u_id, u_name, u_gender, u_address, u_date) values (2216,'Tom','男','127.0.0.1',to_date('2023-07-03','yyyy-mm-dd'))
6.3 更改数据
update table_name set column_name = value where condition
使用update关键字对表中的数据进行更新,其中column_name 为列名;value为具体的值,condition 为判断条件。下面,我们将test表中u_id为2216的u_gender属性改为'女'。
update test set u_gender = '女' where u_id = 2216
6.4 删除数据
delete from table_name where condition
使用delete关键字,对表中的数据进行删除,table_name为表名,condition为判断条件,下面我们将test表中u_id为2216的这条数据进行删除。
delete from test where u_id = 2216