前言:上一篇安裝好oracle和pl/sql后,這篇主要講如何創建數據庫,因為接下來我的項目會連接數據庫進行開發。
第一步、先用系統管理員登錄pl/sql
我這里系統管理員用戶名為system,密碼為orcl
第二步、建立表空間
新建sql窗口,我們使用sql語句來創建表空間
create tablespace db_test --表空間名 datafile 'D:\oracle\product\11.2.0\dbhome_1\oradata\orcl\test.dbf' --物理文件 表空間數據文件存放路徑 size 50m --大小初始值 autoextend on --自動擴展 next 50m maxsize 20480m --每次擴展50m,最大為20480m extent management local;
f8 運行sql,成功后電腦里會出現TEST.DBF文件。
第三步、創建用戶
create user testdev --創建用戶名 testdev identified by "test1234" --創建密碼 test1234 default tablespace db_test --表空間 db_test temporary tablespace TEMP --臨時表空間(默認的) profile DEFAULT --默認權限(下面給分配) quota unlimited on db_test; --該用戶在 db_test 表空間里的配額不限
第四步、給用戶分配權限
grant all privileges to testdev; -- 執行該語句給 testdev 用戶授權,此時 該 用戶就可以登錄了
第五步、接下來使用test用戶登錄,就可以建表了。

根據經驗,建表時字段名盡量要避開使用oracle的關鍵字和保留字。
補充:
oracle查詢庫中所有表名字段名、字段名說明,查詢表的數據條數、表名、中文表名等
--查詢所有表名: select t.table_name from user_tables t; --查詢所有字段名: select t.column_name from user_col_comments t; --查詢指定表的所有字段名: select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB'; --查詢指定表的所有字段名和字段說明: select t.column_name, t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB'; --查詢所有表的表名和表說明: select t.table_name,f.comments from user_tables t inner join user_tab_comments f on t.table_name = f.table_name; --查詢模糊表名的表名和表說明: select t.table_name from user_tables t where t.table_name like 'BIZ_DICT%'; select t.table_name,f.comments from user_tables t inner join user_tab_comments f on t.table_name = f.table_name where t.table_name like 'BIZ_DICT%'; --查詢表的數據條數、表名、中文表名 select a.num_rows, a.TABLE_NAME, b.COMMENTS from user_tables a, user_tab_comments b WHERE a.TABLE_NAME = b.TABLE_NAME order by TABLE_NAME;
oracle 查詢表空間的大小及使用情況等sql
--1、查看表空間的名稱及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name; --2、查看表空間物理文件的名稱及大小 SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files ORDER BY tablespace_name; --3、查看回滾段名稱及大小 SELECT segment_name, tablespace_name, r.status, (initial_extent / 1024) initialextent, (next_extent / 1024) nextextent, max_extents, v.curext curextent FROM dba_rollback_segs r, v$rollstat v WHERE r.segment_id = v.usn(+) ORDER BY segment_name; --4、查看控制文件 SELECT NAME FROM v$controlfile; --5、查看日志文件 SELECT MEMBER FROM v$logfile; --6、查看表空間的使用情況 SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name FROM dba_free_space GROUP BY tablespace_name; SELECT a.tablespace_name, a.bytes total, b.bytes used, c.bytes free, (b.bytes * 100) / a.bytes "% USED ", (c.bytes * 100) / a.bytes "% FREE " FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c WHERE a.tablespace_name = b.tablespace_name AND a.tablespace_name = c.tablespace_name; --7、查看數據庫庫對象 SELECT owner, object_type, status, COUNT(*) count# FROM all_objects GROUP BY owner, object_type, status; --8、查看數據庫的版本 SELECT version FROM product_component_version WHERE substr(product, 1, 6) = 'Oracle'; --9、查看數據庫的創建日期和歸檔方式 SELECT created, log_mode, log_mode FROM v$database; --1G=1024MB --1M=1024KB --1K=1024Bytes --1M=11048576Bytes --1G=1024*11048576Bytes=11313741824Bytes SELECT a.tablespace_name "表空間名", total "表空間大小", free "表空間剩余大小", (total - free) "表空間使用大小", total / (1024 * 1024 * 1024) "表空間大小(G)", free / (1024 * 1024 * 1024) "表空間剩余大小(G)", (total - free) / (1024 * 1024 * 1024) "表空間使用大小(G)", round((total - free) / total, 4) * 100 "使用率 %" FROM (SELECT tablespace_name, SUM(bytes) free FROM dba_free_space GROUP BY tablespace_name) a, (SELECT tablespace_name, SUM(bytes) total FROM dba_data_files GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name