320 likes | 553 Views
Oracle 9i. Agenda. Start and exit SQL Plus (General) Start and exit SQL Plus (Tah 1006) Syntax Create a new user Create a new table Enter data into a new table Export & import data. Start and Exit SQL Plus. Start SQL Plus Start Select Program Select Oracle-ORACLE_9i
E N D
Agenda • Start and exit SQL Plus (General) • Start and exit SQL Plus (Tah 1006) • Syntax • Create a new user • Create a new table • Enter data into a new table • Export & import data
Start and Exit SQL Plus • Start SQL Plus • Start • Select Program • Select Oracle-ORACLE_9i • Select Application Development • Select SQL Plus • Enter your name for User Name (system) • Enter Enter your password for Password (manager) • Exit SQL Plus • Type exit at SQL prompt
Start and Exit SQL Plus (Tah 1006) • Start Database • Start the computer • Wait for couple minutes • Select Oracle-XP_SP1 • Press Enter for password (no password is needed) • Double clicks the SQL Plus icon • Enter your name for User Name (system) • Enter your password for Password (manager) • Exit SQL Plus • Type exit at SQL prompt • Close the database window
Syntax - General • Use semicolon (;) to terminate a statement • SQL is not case-sensitive • SQL statement can be entered into several lines • Use comma (,) to separate attributes • Use a pair of single quotes (‘) for any character string • Use a pair of double quotes (‘’) for a single ‘ character string
Syntax - General • Use percentage sign (%) for a group of wildcard characters • Use underscore (_) for one wildcard character • Escape character • Select…from….where city like ‘%s/_f%’ escape ‘/’; • Underscore _ after / will be interpreted as a regular meaning • Subquery must be enclosed in a pair of parentheses
Syntax - Name • Table name or attribute name limited to 30 characters (characters, number, special symbols $, _, and #) • Name has to begin with a character • No blank • Not case sensitive • No reserved word
Syntax - Data Types • Characters • Varchar2(n): max 4,000 characters (ASCII, 8-digit) • Char(n): max 2,000 characters (ASCII, 8-digit) • Nvarchar2(n): as char (Unicode, 16-digit) • Nchar(n): as char (Unicode, 16-digit) • Numbers • Integer: number(n) • Fixed-point: number(5,2), 999.99 • Floating-point: number
Syntax - Data Types • Date • Date:DD-MMM-YY HH:MI:SS • Timestamp(fractional seconds precision) with 6 as default value • Large object (LOB): max 4 gigabytes for digitized sounds, images, and binary files (BLOB, CLOB, BFILE, NCLOB)
Syntax - Editor • L or LIST - displays most current SQL statements from buffer • Line number - changes the current line number to the entered line number and shows the listed line number • LIST line number or nn nn - show the indicated line number text or between the nn and nn
Syntax - Editor • A or APPEND text - adds the entered text to the end of the current line • I or INPUT text – create a new line after the current line • C or CHANG/old text/new text/ - replaces an existing text string (old text) in the line with a new text string (new text) • DEL or DELETE - deletes the current line • START filename – execute the contents of the SQL Plus command file
Syntax - Editor • SAVE file name - saves the most current SQL statements to a file (filename.sql) • GET file name - retrieves SQL statements from the file name (filename.sql) • R or / - runs the most current statements • SPOOL file name - saves SQL statements, its query, and other results to a file • SPOOL OFF - terminates SPOOL
Spool File - Menu • SPOOL file • Select File • Select Spool • Select Spool file • Type drive (such as a:) • Type file name (such as f1) • Select spool file (*.lst) • SPOOL off • File • Spool • Spool off
Save File Menu • Select File • Select Save • Select Create to create a *.sql file • Select Replace to replace a *.sql file • Select Append to append a *.sql file
Syntax - View Table Structure • View all of the tables • SELECT TABLE_NAME FROM USER_TABLES; • SELECT TABLE_NAME FROM ALL_TABLES; • View field definitions of a table • DESCRIBE table name • DESCRIBE student; • View all the constraints of a table • SELECT CONSTRAINT_NAME, TABLE_NAME, CONSTRAINT_TYPE FROM USER_CONSTRAINTS; • SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE FROM USER_CONSTRAINTS WHERE TABLE_NAME = ‘student’;
Oracle Constraint Type Identifier • Primary key: p • Foreign key: r • Check condition: c • Not null: n • Unique: u
Error Message • Type http://otn.oracle.com for the Internet address • Click ‘Search’ • Check ‘Oracle Technology Network Documentation’ box • Type ‘ORA-error messages’ in the search field • Click ‘Search icon’
Create A New Table • CREATE TABLE student (stuid char(5) NOT NULL, stuname char(10), major char(10), credit number(3), CONSTRAINT pkstudent PRIMARY KEY (stuid));
Create A New Table • CREATE TABLE faculty (facid char(5) NOT NULL, facname char(10), dept char(10), rank char(10) check (rank in (‘F’,’Aso’, ‘Ast’)), CONSTRAINT pkfaculty PRIMARY KEY (facid));
Create A New Table • CREATE TABLE class (course# char(5) NOT NULL, facid char(5), sched char(10), room char(10), CONSTRAINT pkclass PRIMARY KEY (course#), CONSTRAINT fkclassfaculty FOREIGN KEY (facid) REFERENCES faculty (facid));
Create A New Table • CREATE TABLE enrollment (course# char(5) NOT NULL, stuid char(5) NOT NULL, grade char(10), CONSTRAINT pkenroll PRIMARY KEY (course#, stuid), CONSTRAINT fkenrollclass FOREIGN KEY (course#) REFERENCES class (course#), CONSTRAINT fkenrollstudent FOREIGN KEY (stuid) REFERENCES student (stuid));
Create A New User • CREATE USER username IDENTIFIED BY password • CREATE USER tsai IDENTIFIED BY tsai • GRANT privilege1, privilege2,…TO username or role name • GRANT CREATE USER, CREATE TABLE, DROP TABLE TO tsai (current user’s schema – user level) • GRANT role name TO username • GRANT DBA TO tsai (any user’s schema –DBA level)
Delete An User • REVOKE privilege FROM role name • REVOKE CREATE USER form tsai • REVOKE role name FROM username • REVOKE DBA from tsai
Input Data Into A Table • The ampersand (&) signal the SQL compiler to prompt the user for a value that is then substituted into the query • &prompt_variable is the name of the attribute for which the user is prompted to specify a value • Example INSERT INTO student VALUES (&stuid, &stuname, &major, &credit);
Load Data Into A Table • Tsaitest.dat file contains 11111,Ching,MIS,100 22222,Anderson,MIS,200 33333,Martin,ACT,300 • Tsaitest.ctl contains • LOAD DATA • INFILE ‘tsaitest.dat’ • APPEND • INTO TABLE student • FIELDS TERMINATED BY ‘,’ • (stuid, stuname, major, credit) • The following command should be issued in command line • SQLLDR USERID=tsai/tsai CONTROL= tsaitest.ctl LOG=tsaitest.LOG • Tsaitest.dat, tsaitest.ctl, and tsaitest.log have to be in the same directory such as C:
Export Data • Program • MS-DOS Prompt • Type exp user name/password (such as exp nancy/nancy) • Specify export file (such as a:extf1.dmp where a: is the drive) • Answer the questions to execute the expert program
Import Data • Program • MS-DOS Prompt • Type imp user name/password (such as imp nancy/nancy) • Specify Import file name (such as a:extf1.dmp) • Answer the questions to execute the import program
Process for Oracle Homework • Use notepad to prepare the sql codes for creating tables, data, problems, and control files • Save each control file in an individual file • Save each table data in an individual file • Use copy and paste to move the sql codes of create table from notepad to oracle then press / to run • Copy 4 data files and control files in the root of C drive
Process for Oracle Homework • Type four sqlldr statements at C:> to load the data into the tables (one at the time) • Use copy and paste to move the sql codes of problem from notepad to oracle then press / to run • Use save command to store the solution • Use spool to save every problem together • Use get command to get the saved solution and press / to run • Use spool off to turn off the spooling • Use Word to print the saved spool file
Process for Oracle Homework • Use Imp and exp to import and export records and tables