重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、创建表:
创新互联建站从2013年开始,先为林州等服务建站,林州等地企业,进行企业商务咨询服务。为林州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
CREATE TABLE Student(
id varchar2(32) primary key,
name varchar2(8) not null,
age number
);
2、修改字段名:
alter table Student rename name to StuName;
3、修改数据类型:
alter table Student modify (id varchar2(64));
Oracle数据库介绍:
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
1、用sql查表
查表的时候需要用到user_tables、all_tables,user_tables查出来的是该用户拥有的表,all_tables查出来的是所有用户的表。
2、用sql查表的字段
查表的字段需要用到user_tab_columns、all_tab_columns,一样的前者只能查到该用户拥有的表,后者可以查询所有用户的表。
3、其他
与上面类似的还有查询对象(user_objects、all_objects)、索引(user_indexes、all_indexes)、约束(user_constraints、all_constraints)等。
至于到底怎么查,先用select * from XXX查看表的信息,然后看下就知道了。比如查一个system表dba_data_files的字段,可以用select * from all_tab_columns where table_name = 'DBA_DATA_FILES',注意表名大写。
2014-11-04补充:
下列列出一些比较重要的数据字典:
DBA_TABLES:描述数据库中所有相关的表。
DBA_ALL_TABLES:描述数据库中所有的对象以及相关的表。
USER_TABLES:描述数据库中当前用户拥有的相关的表。
USER_ALL_TABLES:描述数据库中当前用户拥有的对象以及相关的表。
ALL_TABLES:描述数据库中所有的用户可以访问的相关的表。
ALL_ALL_TABLES:描述数据库中所有的用户可以访问的对象以及相关的表。
DBA_TAB_COLUMNS:描述数据库中所有表的列属性。
USER_TAB_COLUMNS:描述数据库中当前用户拥有的表的列属性。
ALL_TAB_COLUMNS:描述数据库中所有用户可以访问的表的列属性。
DBA_CONSTRAINTS:描述数据库中所有表的约束和属性。
DBA_CONS_COLUMNS:包含在DBA_CONSTRAINTS约束定义中的可访问的列的信息。
ALL_CONSTRAINTS:描述数据库中所有用户可以访问的表的约束和属性。
ALL_CONS_COLUMNS:包含在ALL_CONSTRAINTS约束定义的可访问的列的信息。
USER_CONSTRAINTS:描述数据库中所有当前用户拥有的表的约束的属性。
USER_CONS_COLUMNS:包含在USER_CONSTRAINTS约束定义的可访问的列的信息。
DBA_SEQUENCES:数据库中所有序列的描述。
ALL_SEQUENCES:描述数据库中所有用户可以访问的序列的描述。
USER_SEQUENCES:描述数据库中所有当前用户拥有的序列的描述。
DBA_INDEXES:描述数据库中所有的索引的属性。
ALL_INDEXES:描述数据库中所有用户可以访问的索引的属性。
USER_INDEXES:描述数据库中所有当前用户拥有的索引的属性。
看下面的例子:
SQL DROP TABLE k;
Table dropped
-- 建立表K,字段名为UID(oracle关键字)
SQL CREATE TABLE k(UID INT);
CREATE TABLE k(UID INT)
ORA-00904: : invalid IDENTIFIER
-- 字段名加""表创建成功
SQL CREATE TABLE k("UID" INT);
Table created
--插入一些数据
SQL INSERT INTO k VALUES(1);
1 row inserted
SQL INSERT INTO k VALUES(2);
1 row inserted
SQL INSERT INTO k VALUES(3);
1 row inserted
-- 查询时加不加""都正常(似乎不太符合规范,UID 可能是比较特殊的关键字???)
SQL SELECT UID FROM k;
UID
----------
5
5
5
SQL SELECT "UID" FROM k;
UID
---------------------------------------
1
2
3
-- update时必须加上""
SQL UPDATE k SET UID=5 WHERE UID=3;
UPDATE k SET UID=5 WHERE UID=3
ORA-01747: invalid user.table.column, table.column, or column specification
SQL UPDATE k SET "UID"=5 WHERE "UID"=3;
1 row UPDATED
总结:
1. oracle可以在"关键字"的形式引用关键字作为字段名与查询语句的别名。如果不是特殊情况最好
不要使用,以免引起代码编写过程中的错误。
2. 加了""的关键字必须大写。(补充)
-- The End --
SELECT
*
FROM
DBA_TAB_COLUMNS
WHERE
TABLE_NAME
=
'USERSCORE'
表名要大写
desc
userscore;理论上是不应该报错的,是不是你没写分号什么的,或者你把错误代码帖一下
1、首先双击桌面plsql developer软件启动软件,在连接窗口中填写连接信息,连接数据库。
2、连接成功后新建命令窗口,在sql查询中一般情况下对于数据比较少的表都会使用普通查询进行查询数据,如下图。
3、有的时候针对数据量比较大,而又不太确定查询目录的表在进行查询的时候,就需要进行模糊查询,使用关键字Like ,如下图查询出职工姓名第二个字符是o的职工信息。
4、种模糊查询的方式只能针对字符串类型的数据列进行查询,其它类型的数据是无法查询出结果的,如下图。
5、除了模糊查询之外还有反向模糊查询,not like,它的使用就是根据查询条件查询满足查询条件以外的数据。