如何替别人建网站挣钱,新公司做网站和域名,2024年全员核酸,快速搭建网站工具平时使用的比较多的数据库管理系统就是Oracle和MySQL#xff0c;我在这里记录下使用过程中的遇到的问题以及解决方案#xff0c;以备不时之需 Oracle 关于表空间 Oracle创建数据的代价还是比较大的#xff0c;所以使用表空间的概念#xff0c;每个表空间相互独立。这里记录…平时使用的比较多的数据库管理系统就是Oracle和MySQL我在这里记录下使用过程中的遇到的问题以及解决方案以备不时之需 Oracle 关于表空间 Oracle创建数据的代价还是比较大的所以使用表空间的概念每个表空间相互独立。这里记录的操作包括从创建表空间、创建用户并分配表空间、授权用户这一系列操作 创建表空间 create tablespace db_test
datafile D:\app\Administrator\oradata\orcl\db_test.dbf --表空间文件位置
size 50m --初始大小
autoextend on --自动增长 创建用户并分配表空间 CREATE USER utest --用户名
IDENTIFIED BY utestpwd --密码
DEFAULT TABLESPACE db_test --分配表空间授予一些权限给用户 grant create session to utest --或者是CONNECT
grant RESOURCE to utest
--grant dba to utes 导入与导出 Oracle可以使用dmp文件、sql文件、数据泵方式进行导入与导出 Oracle导入.dmp文件 命令语句为 imp 用户名/密码实例名 filed:\data\x.dmp logd:\data\x.log fully ignorey;其中file 表示待导入的dmp文件位置
log 指定导入过程log的记录文件位置注意即使指定了将记录保存到log文件里屏幕打印也不会关闭full 表示将dmp全部内容导入ignore 表示忽略表创建过程中的错误比如表名已存在时将直接覆盖原来表的内容 Oracle导出.dmp文件 exp有三种主要的方式完全、用户、表 1. 将数据库TEST完全导出用户名system 密码manager 导出到D:\daochu.dmp中 (完全) DBA权限exp system/managerTEST filed:\test.dmp fully
2. 将数据库中system用户与sys用户下的对象导出 (用户)exp system/managerTEST filed:\test.dmp ownersystemsys
3. 将数据库中的表table1 、table2导出 (表)只导出表exp system/managerTEST filed:\test.dmp tablestable1table2
4. 将数据库中的表table1中的字段filed1以”00”打头的数据导出 exp system/managerTEST filed:\test.dmp tablestable1 query\” where filed1 like ‘00%’\”
5. 只导出表table1结构不导出数据exp useriduname/pwd tablestable1 filed:\test.dmp rowsn;
上面是常用的导出对于压缩我不太在意用winzip把dmp文件可以很好的压缩。
不过在上面命令后面加上 compressy 就可以了 Oracle导入.sql文件 文件名 oracle 导入数据泵 创建与数据泵文件(也是个.dmp文件)相同的表空间创建数据泵文件相同的用户并分配表空间授予一些权限给用户(有时候还是需要dba权限)创建一个目录并分配读写权限CREATE OR REPLACE DIRECTORY BM as D:\bm --D:\bm 手动创建grant read,write on directory 目录名 to 用户名
--revoke read,write on directory BM from als7zx04 --收回目录的读写权限 将数据泵文件放在目录下,这里是D:\bm 下使用impdp导入impdp 用户名/密码数据库实例 directory目录名 dumpfile数据泵文件名fully ignorey; --数据泵文件名不要写全路径 系统查询 这里的查询不是说如何查询表而是查询一些与系统有关的信息 oracle怎么查看用户属于哪个表空间 select username,default_tablespace from dba_users where username用户名; --用户名大写 查询当前数据库实例名 select instance_name from v$instance; 数据库实例名(instance_name)用于对外部连接。在操作系统中要取得与数据库的联系必须使用数据库实例名。比如我们作开发要连接数据库就得连接数据库实例名 jdbc:oracle:thin:localhost:1521:orclorcl就为数据库实例名 查询表个数 select table_name from user_tables; --当前用户拥有的表
--select count(1) from tabs;
--select count(1) from user_tables;select table_name from all_tables; --所有用户的表
select table_name from dba_tables; --包括系统表
select table_name from dba_tables where owner用户名--类似的除了表还有视图、存储过程、同义词等等对象使用[DBA|USER|ALL]_TABLES可以查看到你想要的对象 查看数据库对象,可以发现同名数据库对象被占用的问题 --对象名为GETORGNAME
SELECT OBJECT_NAME,OBJECT_TYPE FROM USER_OBJECTS WHERE OBJECT_NAMEGETORGNAME; 创建表空间 Oracle查看哪些表被锁了 SELECT object_name, machine, s.sid, s.serial#, logon_time, locked_mode
FROM gv$locked_object l, dba_objects o, gv$session s
WHERE l.object_id o.object_id
AND l.session_id s.sid; 解除锁定 --alter system kill session sid,serial#;
ALTER system kill session 23,1647; 查询语句 这里是一些特殊的SELECT oracle中把1,2,3显示成01,02 --oracle中把1,2,3显示成01,02,03等的数值怎么写
SELECT to_char(2,fm00) FROM dual; --结果 02
SELECT to_char(2,fm999.00) FROM dual; --结果 2.00 格式化时间 select
cc.IDEXPIRY,cc.CUSTOMERID,ci.CUSTOMERNAME
from
CUSTOMER_CERT cc,CUSTOMER_INFO ci
where cc.CUSTOMERIDci.CUSTOMERID and cc.IDEXPIRYto_char(sysdate,yyyy/mm/dd)
-- Oracle 使用to_char 将当前时间sysdate 格式化 Oracle查询上一月 select to_char(add_months(sysdate,-1),yyyymm) from dual; Oracle从一个日期中提取特定部分 --语法
extract ( { year | month | day | hour | minute | second } | { timezone_hour | timezone_minute } | { timezone_region | timezone_abbr } from { date_value | interval_value } )--例子(从一个日期里提取年月日)
select extract (year from sysdate) year, extract (month from sysdate) month, extract (day from sysdate) day from dual;
--EXTRACT(MONTH FROM TO_DATE(MIN(A1.EARLIESTDUEBILLPUTOUTMON),YYYY-MM-DD)) 数据字典 查询表的表名,字段名,字段类型注释 --如果还需要查询系统中的表 使用数据字典 dba_ 打头的数据字典
select
user_tab_columns.table_name,user_tab_comments.comments as tablename,
user_tab_columns.COLUMN_NAME,user_col_comments.comments,
user_tab_columns.data_type||(||user_tab_columns.data_length||),
user_tab_columns.COLUMN_ID
from user_tab_columns,user_col_comments,user_tab_comments
where user_tab_columns.TABLE_NAMEuser_tab_comments.table_name
and user_tab_columns.TABLE_NAMEuser_col_comments.table_name
and user_tab_columns.COLUMN_NAMEuser_col_comments.column_name
and user_tab_columns.table_name like 表名% order by user_tab_columns.COLUMN_ID
--表名大写,或者使用upper(brc_21bank_custrisk)以创建表的字段顺序(column_id)排序 MySQL 导入与导出 MySQL中我使用最多的是sql文件的方式导入与导出 登录MySQLmysql ‐uroot ‐proot 选中需要操作的数据库user db1; 使用source命令导出source C:\bak.sql 导入也需要先登录系统并选中数据库(这个数据库需要提前建好一个空数据库) 使用SOURCE命令 mysql ‐uroot ‐prootcreate database db1;user db1;SOURCE 导入文件的路径; 查询语句 如果是null设置默认值 ifnull(表达式1,表达式2)方法 : 若表达式1的值为null,则返回表达式2的结果;若表达式1的值不为null,则返回表达式1的值 ifnull(age, 0) SELECT COUNT(IFNULL(english,0)) FROM student3; 设置小数位数 可以使用cast(数值 as decimal(总位数,小数位))设置小数的位数 select cast(avg(price) as decimal(5,2)) from products; 数据字典 SELECTtable_schema,table_name,column_name,column_type,column_comment
FROMinformation_schema.COLUMNS
WHEREtable_schema 数据库名; MYSQL忘记密码 使用管理员运行cmd --- net stop mysql停止mysql服务使用无验证方式启动mysql服务mysqld --skip-grant-tables打开新的cmd窗口直接输入mysql回车登录成功user mysql;set password for 用户名主机名 password(新密码);或者 update user set password password(新密码) where user 用户名;关闭两个窗口打开任务管理器手动结束mysqld.exe进程启动mysql服务 --- net start mysql使用新密码登录即可转载于:https://www.cnblogs.com/lz2017/p/10731754.html