Oracle数据库操作命令1.登录数据库:SQL Window 与Command WindowSqlplus system/密码@orcl2.关闭数据库:Sqlplus/as sysdbaShutdown immediate3.启动数据库:Sqlplus/as sysdba(已登录时可不用再写)Startup4.查看参数①查看数据库:show parameter db_name;②查看实例:show parameter instance;③查看实例名:show parameter instance_name;④查看Oracle数据库中当前用户所拥有的表:select table_name from user_tables;⑤查看Oracle数据库中当前用户所能访问的表:Select user,table_name from all_tables;⑥查看Oracle数据库中本用户下所有的列:Select table_name,column_name from user_tab_columns;Oracle表空间:5.在数据库orcl中,创建表空间的命令:Create tablespace 表空间名datafile ‘C:\表空间名.dbf’ size 20M;6.为表空间中添加数据文件命令格式:Alter tablespace 表空间名add datafile ‘D:\表空间名.dbf’ size 100M;7.创建表空间后,在数据字典中获得其相关信息(查看表空间的数据文件):Select tablespace_name,file_name from dba_data_files;8.创建表空间时,还可指定数据文件自动扩展机制(指定每次增长尺寸为5M)Create tablespace 表空间名datafile ‘C:\表空间名.dbf’ size 20M autoextend on next 5M;允许物理文件无限制增长存在一定风险,此时可在创建时设定表空间的最大大小(如500M)Create tablespace 表空间名datafile ‘C:\表空间名.dbf’ size 20M autoextend on next 5M maxsize 500M;9.修改数据库的默认表空间:Alter database default tablespace 表空间名;查看某用户的缺省表空间:Select username,default_tablespace from dba_users where username=’用户名’;修改某用户的缺省表空间:Alter user 用户名default tablespace 表空间名;10.创建数据库用户:Create users 用户名identified by 密码default tablespace 表空间名;修改用户的密码:alter user system identified by 1234567; //修改system的密码为1234567 11.利用rename将表空间重命名:Alter tablespace 旧表空间名rename to 新表空间名;12.重新定义表空间大小——resizeAlter database d atafile ‘C:\TZ15.dbf’ resize 60M;创建Oracle数据表:13.创建数据表:Create table 表名(列1 数据类型1……列n 数据类型n);14.查看表属于哪个表空间:Select tablespace_name,table_name from user_tables where table_name=’表名’;15.查看表:desc 表名;16.为数据表增加列:Alter table 表名add(id number);17.将name的数据类型修改为varchar2(20)Alter table 表名modify(name varchar2(20));18.删除已有列:Alter table 表名drop column 列名;19.重命名列:Alter table 表名rename column 旧列名to 新列名;20.删除数据表:drop table 表名;drop table 表名cascade constraints;(可将约束条件同时删除)查看表结构:Select * from 表名;特殊的数据表dual:21.打印和查看输出结果:Select (100+2)/2 result dual;22.查看当前连接用户:Select user from dual;23.select sysdate from dual;(获得当前日期)select trim(‘ AAA BBB ’) from dual;select trim(leading 9 from 9998767999) from dual;select ‘HELLO ’||‘hello world’from dual // 字符串连接select ascii('a') from dual;(查看ascii表对应的数字)select chr(97) from dual;(查看ascii表对应的字符)select length('abcdef') from dual;(查看括号里的位数)select replace('abc','b','xy') from dual;(将b替换成xy)select mod(9,5) from dual;(取余)Select substr(‘English’, 2, 4) from dual //从第二个开始取4个Select round(23.7512, 1) from dual; //返回23.8,4舍5入Select trunc(23.75123, 1) from dual; //返回23.7,截取函数,不四舍五入插入,更新,删除操作:24.单条插入:Insert into 表名(列名1….列名n)values(值1….值n);eg:insert into student (ID,name,age,sex)values (6,’黄子韬’,18,’男’);25.成功插入后,查询表中数据:Select * from 表名;26.生成和旧表a的字段相同的新表A:Create table A as select * from a where 1<>1;27.向新表A插入新的数据,新数据来自旧表a中id处于前10的学生信息:Insert into A (id,name)select id,namefrom awhere id<=10;28.更新多行:update 表名set 列=新值;更新一行:Update 表名set 列=新值where 列=原值;29.将小写形式转换为大写形式(多行):Update 表名set 列名=upper(列名);Eg更改一行:update 表名set name=upper(name)where id=1;30.将英文形式改为中文形式:update 表名set name=‘张三' where name='zhangsan';31.更新多列:Update 表名set 列1=新值1,列2=新值2…将name进行大写转换,并将学生年龄增加1:update 表set age = age+1, name = upper(name);32.搜寻表中记录:Select * from 表名where id=1;Commit命令用于修改确认之后提交数据。
提交之后,不可回滚33.删除表中数据(可回滚):delete from 表名;(可回滚)truncate table 表名;(不可回滚)SQL查询:34.查询员工表employees中所有员工姓名:Select name from employees;35.select * from employees where age!=22;(查询表中年龄不等于22的员工)select * from employees where age>22(年龄大于22的员工)select * from employees where addr like '%海%';()select * from employees where (addr like '%海%' and position like '%组长%');select * from employees where name like '_静_';36.获得每位员工领取的工资情况:select e. name, s.salary from employees e, salary s where e. id=s. id;(该SQL语句的数据源有两个数据表employees和salary,分别利用别名e和s进行标识,然后利用e.id=s.id作为查询条件)37.正则表达式的简单运用:select * from 表名where regexp_like (name, '[张李王]三');(找出张三,李三,王三)select * from 表名where regexp_like (name ,'[^张李王]三');(找出非张三,李三,王三的人)38.获取员工唯一工资状况的SQL语句:SQL> select distinct e. name, s.salaryfrom employees e, salary swhere e. id = s. id;39.获得工资总额大于10000的记录:select e.id, , sum(s.salary) total_salaryfrom employees e, salary swhere e.ID = s.IDgroup by e.id, having (sum(s.salary))>10000;Mysql:。