1. 數據庫的發展過程
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、雅安服務器托管、營銷軟件、網站建設、溫宿網站維護、網站推廣。
層次模型 --網狀模型 --關系模型 --對象關系模型
2. 關于數據庫的概念
DB:數據庫(存儲信息的倉庫)
DBMS:數據庫管理系統(用于管理數據庫的工具)
RDBMS:關系型數據庫管理系統
ORDBMS:對象關系型的數據庫管理系統
3. Oracle數據庫的主要特點
1)支持多用戶、大事務量的處理
2)數據庫安全性和完整性控制
3)支持分布式數據處理
4)可移植性
4.Oracle一些常見問題?
1)如果我只有一張表,為什么我還要創建數據庫?
SQL語言要求所有表都需放在數據庫里。這項設計當然有它好的理由。SQL能控制多為用戶同時訪問表的行為。能夠授予或撤銷對整個數據庫的訪問權。這有時比控制每張表的權限要簡單很多
2)創建庫的命令的字母全是大寫,一定要這樣嗎?
有些系統確實要求某些關鍵字采用大寫形式。但SQL本身不區分大小寫。也就是說,命令不大寫也可以,但命令大寫是良好的SQL編程慣例。
3)給數據庫、表和列命名時有什么主意事項嗎?
創建具有描述性的名稱通常有不錯的效果。有時候要多用幾個單詞來命名。所有名稱都不能包含空格,所以使用下劃線能夠讓你創建更具描述性的名稱。命名時最好避免首字母大寫,因為SQL不區分大小寫。極有可能會搞錯數據庫。
4)為什么不能直接把BLOB當成所有文本值的類型?
因為這樣很浪費空間。VARCHAR或CHAR只會占用特定空間。不會多于256字符。但BLOB需要很大的存儲空間。隨著數據庫的增長,占用存儲空間就是冒著耗盡硬盤空間的風險。另外,有些重要的字符串運算無法操作BLOB類型的數據。只能用于VARCHAR或CHAR。
5)為什么需要INT和DEC這類數值類型?
節省數據庫存儲空間和效率有關。為表的沒列選擇最合適的數據類型可以為表瘦身,還可以使數據操作更為快速。
5.Oracle關系數據庫基礎
1)主鍵:表中其中一列或幾列的組合,其值能唯一標識表中每一行。
表中任何列都可以作為主鍵,但要滿足如下條件:
任何兩行都不具有相同的主鍵值
每個行都必須具有一個主鍵值(主鍵列不允許為null值)
主鍵列中的值不允許修改或更新
主鍵值不能重用(如果某行從表中刪除,它的主鍵不能賦給以后的新行)
一般以id或uuid作為主鍵的名字
2)外鍵是什么:
在一個關系(參照表)中是主鍵,而另一個關系引用這個鍵。那么這個鍵在另一個關系中就是外鍵。
3)外建能干什么:
使兩個關系(表)形成關聯,外鍵只能引用參照表中的主鍵。保持數據一致性,完整性。
如圖:
4)如何在數據庫內表示一對一
5)如何在數據庫內表示一對多
6)關系模型的完整性約束是什么?
是通過關系的某種約束條件對關系進行約束。也就是說關系的值隨時間變化時應該滿足一些約束條件。如年齡不能超過1000,性別必須是男或者女
7)關系模型的完整性約束能有什么?
實體完整性、參照完整性、用戶自定義完整性。
實體完整性:針對基本關系而言,也就是一個二維表,主鍵不能為NULL
參照完整性:表之間存在關系,自然就存在關系的引用(外鍵),表和表之間的關系通過外鍵實現,外鍵可以為NULL或引用表的主鍵
用戶自定義完整性:針對不同的需求定義自己的完整性約束,如不允許學生編號中出現非數字字符,性別必須是男或者女
6. Oracle自學筆記
1)數據庫和表的名稱不一定要大寫。
2)列是存儲在表中的一塊數據,行是一組能夠描述某個事物的列的集合。列和行構成了表。
3)創建oracle數據庫。使用oracle自帶的Database Configuration Assistant 來創建庫
4)使用DBA身份 創建表空間。具體sql如下:
create tablespace pzw datafile 'C:/oracle/pzw.dbf' SIZE 1024M REUSE AUTOEXTEND OFF extent management local segment space
management auto;
5)刪除用戶命令
drop user pzw cascade;
6)刪除表空間命令
DROP TABLESPACE pzw INCLUDING CONTENTS AND DATAFILES;
7 )查看表空間命令。
鏈接地址:查看oracle表空間的兩種方式
8)創建用戶。
create user pzw identified by pzw;
9)將包空間分配給用戶
alter user pzw default tablespace pzw;
10)給用戶授權
grant create session, create table, unlimited tablespace to pzw;
11)創建表
CREATE TABLE doughnut_list
(
doughnut_name VARCHAR(10),
doughnut_type VARCHAR(6),
doughnut_birthday DATE
);
12)刪除表
DROP TABLE
doughnut_list;
13)給表中增加一列
Alter table EMP add sale number;
14)數據庫插入一條數據
insert into DEPT_EMP_TABLE (DEPT_EMP_NO,emp_no,Dept_No,Joined_Date) values (009,'00002',1,to_date('2011-2-28 15:42:56','yyyy-mm-dd hh24:mi:ss'));
commit;
15)數據庫修改一條數據
update emp set emp_name='張惠妹',age=20,sex='女',profession='流行歌手' where emp_no = '00002';
commit;
16)數據庫刪除一條數據
delete emp where emp_no = '000013';
commit;
17)查詢全部數據
select * from emp;
18)創建視圖
create view adress_view as select * from pzw.adress;
以下為oracle演示數據操作及練習題(對菜鳥及有用。使用scott 登陸。默認密碼tiger)
1.查看演示數據的表。
select*fromtab
或者selecttable_namefromuser_tables;
2.查看表結構(plsql操作無效。使用命名提示符 可以操作)
desc dept;
3.查看員工姓名
select ENAMEfrom emp;
4.查詢員工的編號和明星(sql語句不區分大小寫)
select empno, enamefrom emp;
5.查詢所有的字段
select*fromemp;
一般建議不使用*號,使用*號不明確,建議將相關的字段寫到select語句的后面,使用*號的效率比較低
6.列出員工的編號,姓名和年薪。
select empno, ename,sal*12from emp;
select語句中可以使用運算符,以上存在一些問題,年薪的字段名稱不太明確
7.將查詢出來的字段顯示為中文
select empnoas 員工編號, ename as 員工姓名, sal*12 as 年薪 from emp;
可以采用as命名別名,as可以省略
如:可以采用as命名別名,as可以省略
8.查詢薪水等于5000的員工
select empno, ename, sal from emp where sal=5000;
如果是字符類型的數據進行比較的時候,是區分大小寫的。
9.查詢薪水不等于5000的員工
select empno, ename, sal from emp where sal5000;
10.查詢工作崗位不等于manager的員工
select empno,ename,sal,job from emp where job
'manager';
在sql語句中如果是字符串采用單引號,引起來,不同于Java中采用雙引號,如果是數值型也可以引起來,只不過是數值類型數據當成字符串來處理
11.查詢薪水為1600到3000的員工(第一種方式,采用=和=)
select empno, ename, sal from emp where sal=1600 and sal=3000;
查詢薪水為1600到3000的員工(第一種方式,采用between ...and...)
select empno,ename,sal,job from emp where salbetween
1600and 3000;
between ….and …,包含最大值和最小值
between ….and …,不僅僅可以應用在數值類型的數據上,還可以應用在字符數據類型上
between ….and …,對于兩個參數的設定是有限制的,小的數在前,大的數在后
12.查詢津貼為空的員工
select * from emp where commis null;
13.查詢津貼不為空的員工
select * from emp where commis not null;
14.工作崗位為MANAGER,薪水大于2500的員工。
select empno, ename, sal from emp where job='MANAGER'and sal2500;
and表示并且的含義,表示所有的條件必須滿足
15.查詢出job為manager和job為salesman的員工。
select * from emp where job='MANAGER'or job='SALESMAN';
or,只要滿足條件即可,相當于或者
16.查詢薪水大于1800,并且部門編號為20 或者 30的
select * from emp where sal1800and (deptno=20or deptno=30);
17.查詢出job為manager和job為salesman的員工
select * from emp where jobin('MANAGER','SALESMAN');
18.查詢job不等于MANAGER并且不能與SALESMAN的員工(第一種寫法)
select * from emp where job 'MANAGER' and job 'SALESMAN';
19 .查詢job不等于MANAGER并且不能與SALESMAN的員工(第二種寫法)
select * from emp where jobnot in('MANAGER','SALESMAN');
20.查詢以M開頭的所有員工
select * from emp where ename like 'M %';
21.查詢以T結尾的所有員工
select * from emp where ename like '%T';
22.查詢以O結尾的所有員工
select * from emp where ename like '%O%';
23.查詢姓名中第一個字符為A的所有員工
select * from emp where ename like '_A%';
Like可以實現模糊查詢,like支持%和下劃線匹配
Like中%和下劃線的差別?
%匹配任意字符出現任意次數
下劃線只匹配一個任意字符出現一次
Like語句是可以應用在數值類型的數據上的,但是如果沒有使用引號括起來的話,那么不能使用%和下劃線。類似于等號的操作,如果使用引號括起來的話,那么可以使用%和下劃線,將數值類型的數據轉換為字符類型后進行處理。
24.按照薪水由小到大排序
s elect * from emporder by sal;
如果存在where子句那么order by必須放到where語句的后面
25.手動指定按照薪水由小到大排序
select * from emp order by saldesc;
26. 按照薪水和姓名排序
select * from emp order by sal desc ,ename desc;
如果采用多個字段排序,如果根據第一個字段排序重復了,會根據第二個字段排序
select * from emp order by sal asc;
26.手動指定按照薪水由大到小排序
select * from emporder by sal desc;
27.按照薪水升序(使用字段的位置來排序)
select * from emp order by 6;
不建議使用此種方式,采用數字含義不明確,程序不健壯
28.查詢員工.將員工姓名全部轉換成小寫。
select lower(ename)from emp;
29.查詢job為manager的員工
select * from emp where job=upper('manager');
30.查詢姓名以M開頭所有的員工
select * from emp wheresubstr(ename, 1,1)='M';
方法的第二個參數表示的是查詢字符的位置,0,1都表示第一個字符,負數表示從結尾開始的位置,第三個參數表示截取字符串的長度。
31.取得員工姓名的長度
select length(ename) from emp;
32.取得工作崗位為MANAGER的所有員工
select * from emp where job=trim('MANAGER ');
trim會去首尾空格,不會去除中間的空格
33.查詢1986-02-20入職的員工(第一種方法,與數據庫的格式匹配上)
select * from emp where HIREDATE='20-2月 -81';
查詢1982-02-20入職的員工(第二種方法,將字符串轉換成date類型)
select * from emp where hiredate=to_date('1981-02-20 00:00:00', 'YYYY-MM-DD HH24:MI:SS');
to_date可以將字符串轉換成日期,具體格式to_date(字符串,匹配格式)
34.查詢1981- 02-30以后入職的員工,將入職日期格式為yyyy-mm-dd hh:mm:ss
select empno, ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss')from emp where hiredateto_date('1981-02-2000:00:00', 'YYYY-MM-DD HH24:MI:SS');
35.查詢員工薪水加入前分位
select empno, ename, to_char(sal, '$999,999') from emp;
36.查詢薪水加入千分位和保留兩位小數
select empno, ename, to_char(sal, '$999,999.00') fromemp;
將數字轉換成字符串,格式
控制符
說明
9
表示一位數字
位數不夠可以補零
$
美元符
L
本地貨幣符號
.
顯示小數
,
顯示千分位
37.將字符串轉換成數值
select * from emp where salto_number('1,500','999,999');
38.取得員工的全部薪水,薪水+津貼
select empno, ename, sal, comm, sal+nvl(comm,0) fromemp;
39.如果job為MANAGER薪水上漲10%,如果job為SALESMAN工資上漲50%(case … when … then …end)
select empno, ename, job, sal, (casejobwhen 'MANAGER' thensal*1.1when 'SALESMAN' thensal*1.5end)as newsal from emp;
40.如果job為MANAGER薪水上漲10%,如果job為SALESMAN工資上漲50%(decode)
select empno, ename, job, sal, decode(job,'MANAGER', SAL*1.1, 'SALESMAN',sal*1.5) as newsal from emp;
41.四舍五入
select round(1234567.4567, 2) from dual;
Dual是oracle提供的,主要為了方便使用,因為select的時候需要用from
42.聚合函數
count
取得記錄數
sum
求和
Avg
取平均
Max
取最大的數
min
取最小的數
43.取得所有員工人數
select count(*) from emp;
Count(*)表示取得所有記錄,忽略null,為null值也會取得
44.取得津貼不為null的員工數
select count(comm) from emp;
采用count(字段名稱),不會取得為null的紀錄
45.取得工作崗位的個數
select count(distinctjob) from emp;
Distinct可以去除重復的紀錄
46.取得薪水的合計
select sum(sal) from emp;
47取得薪水的合計(sal+comm)
select sum(sal+nvl(comm, 0)) from emp;
48.取得平均薪水
select avg(sal) from emp;
49.取得最高薪水
select max(to_char(hiredate, 'yyyy-mm-dd')) from emp;
50.取得最小薪水
select min(sal) from emp;
51.取得最早入職的員工
select min(hiredate) from emp;
52.可以將這些聚合函數都放到select中一起使用
select count(*), sum(sal), avg(sal), max(sal),min(sal) from emp;
53.取得每個崗位的工資合計,要求顯示崗位名稱和工資合計。
select job, sum(sal) from empgroupby job;
采用group by,非聚合函數所使用的字段必須參與分組,
Group by中不能使用聚合函數
如果使用了order by,order by必須放到group by后面
54。取得每個崗位的平均工資大于2000
select job, avg(sal) from emp group by job having avg(sal) 2000;
分組函數的執行順序:
1、 根據條件查詢數據
2、 分組
3、 采用having過濾,取得正確的數據
55. 顯示每個員工信息,并顯示所屬的部門名稱
select ename ,dname from emp a ,dept b where a.deptno = b.deptno;
以上查詢也稱為“內連接”,指查詢相等的數據
56.取得員工和所屬的經理的姓名
select a.ename, b.ename from emp a, emp b wherea.mgr=b.empno;
以上稱為“自連接”,只有一張表連接,具體的查詢方法
57.(內連接)顯示薪水大于2000的員工信息,并顯示所屬的部門名稱
SQL99語法:
select ename,sal,dname from emp a join dept b on a.deptno = b.deptno where sal2000;
SQL92語法
select ename,sal,dname from emp a, dept b where a.deptno=b.deptno and sal 2000;
Sql92語法和sql99語法的區別:99語法可以做到表的連接和查詢條件分離,特別是多個表進行連接的時候,會比sql92更清晰
58.(外連接)顯示薪水大于2000的員工信息,并顯示所屬的部門名稱,如果某一個部門沒有員工。那么該部門也必須顯示出來
select dname,ename from emp a right join dept b on a.deptno = b.deptno;
59.查詢員工名稱和所屬經歷的名稱,如果沒有上級經理,也要查詢出來
Select e.ename, m.ename mname from emp e, emp mwhere m.empno(+) = e.mgr;
60.查詢員工信息,查詢哪些人是管理者,要求顯示出其員工編號和員工姓名
select ename,ename from emp where empno in (select distinct mgr from emp where mgr is not null);
61.查詢那些人的薪水高于員工的平均薪水,需要顯示員工編號,員工姓名,薪水。
select empno, ename, sal from emp where sal(selectavg(sal) from emp);
分析思路:首先根據文字描述找出被依賴的條件,逐次分析
62.查詢各個部門的平均薪水所屬的等級,需要顯示部門編號,平均薪水,等級編號
select a.deptno, a.avg_sal, b.grade from (select deptno, avg(sal) avg_sal fromemp group by deptno) a, salgrade b where a.avg_sal between b.losal and b.hisal;
關鍵點:將子查詢看作一張表
63.查詢員工信息以及部門名稱
Select e.empno, e.ename, e.deptno, (select dname from dept where deptno = e.deptno) as dname from emp e
64.union可以合并集合(相加)
select * from emp where job='MANAGER'
union
select* from emp where job='SALESMAN'
65.minus可以移出集合(相減)
查詢部門編號為10和20的,取出薪水大于2000的。
select * from emp where deptno in(10, 20)
minus
select* from emp where sal2000
66.rownum隱含字段
select rownum, a.* from emp a;
67.取得前5條數據
select * from emp where rownum =5;
68.取得薪水最好的前5名
select empno, ename, sal from (select empno,ename, sal from emp order by sal desc)whererownum =5
你好:
檢查系統:打開下載后的數據庫安裝文件夾,運行“setup.exe”開始安裝數據庫,此程序運行后,會檢查系統。
配置安全更新:檢查完系統進入正式安裝,此時會檢查更新,這步可以不需要配置,檢查更新沒有什么必要。
安裝選項:
此步驟就是選擇本次安裝的類型,有三種:
1、創建和配置數據庫;
2、僅安裝數據庫軟件;
3、升級現有的數據庫;
一般情況下,如果電腦上沒有數據庫,選擇第一項就可以了。
系統類:此步驟有兩個選項,桌面類和服務器類,就是安裝機器的系統類型。一般的電腦、筆記本等,選擇桌面類就可以,如果是作為服務器使用的,選擇服務器類。
典型安裝:
此處配置的是數據庫的安裝目錄、全局數據庫、管理員的密碼等。其中:
1、安裝程序會自動選擇系統中盤空間大的作為數據庫的安裝目錄。
2、如果密碼太簡單,安裝程序會提示,如果是自己用的話,簡單一些也沒問題,選是就可以了。
配置完成后,點擊下一步。
先決條件檢查:
此步驟會檢查系統的配置,如果電腦的配置低的話,就會提示檢查結果為失敗,不過也是可以安裝的,就是可能安裝上去后,會有點卡。在檢查結果的界面,右上角有一個“忽略全部”的選擇框,選上此框,就可以繼續安裝了,點擊下一步。
概要:
此步驟就是把數據庫的一些信息顯示出來,界面右邊有一個“保存響應文件”的功能,如果需要此信息的話,保存即可,也可以不保存。完成操作后,點擊完成,這樣配置信息過程就完成了,下面就要開始安裝程序了。
安裝產品:
這步就是正式開始安裝數據庫程序了,需要一些時間,安裝時間根據電腦配置而定,等待安裝完成。安裝完成后,會彈出一個數據庫解鎖的對話框,因為在安裝時,數據庫的賬戶都是默認鎖著的,要使用的話,需要解鎖。點擊對話框的“密碼管理”,在這里選擇需要解鎖的賬戶,設置上密碼就可以了。
完成:
此步驟為信息顯示,即顯示如數據庫安裝到那個目錄等,關閉就可以了。到此,oracle11g數據庫就安裝完成了。好了,以上是oracle11g數據庫如安裝的分享。
SELECT?部門編號,部門名稱,部門所在地,count(員工表.*),avg(員工表.sal),max(員工表.sal),min(員工表.sal)?from??dept?LEFT?JOIN?員工表?on?dept.deptid=員工表.deptid?group?by?deptid
SELECT? 部門表.部門編號,部門表.部門名稱,部門表.部門所在地 FROM? 部門表 INNER JOIN 員工表 ON 部門表.部門編號=員工表.部門編號 GROUP BY 部門表.部門編號 HAVING (COUNT(員工表.*)3) AND (AVG(員工表.工資)1500)
SELECT 工資等級,COUNT(*),AVG(工資) FROM 員工表 GROUP BY 工資等級
好累,不寫了!!!!
下載oracle客戶端軟件運行setup.exe
出現選擇安裝類型的界面,一般選擇‘管理員’,根據自己的需要具體選擇,選好后,點擊下一步
出現產品語言選擇界面,這個就不用講了,下一步
出現指定安裝位置界面,根據自己的需要選擇,建議選擇D盤,下一步
執行先決條件檢查
檢查完后顯示安裝概要信息
點擊完成后,開始安裝產品!
Oracle11g是目前Oracle較新版本,除了傳統的數據庫服務外,也提供了界面友好的鏈接工具。考慮到Oracle數據的穩定和性能方面的優勢,在需要處理大量數據的系統中,可以考慮使用Oracle作為數據庫。\x0d\x0a一:Oracle11g的安裝過程(Windows版本)很簡單,步驟為:\x0d\x0a 1. 首先從Oracle官方網站上下載Oracle11g數據庫,大約為1.7G。解壓后,setup.ext就可以開始安裝\x0d\x0a 2. 在安裝開始的時候,會要求填寫一些信息。需要注意兩項:\x0d\x0a 1)SID。這應該是安裝的數據庫的ServiceID,在數據庫安裝成功后,在Window的服務中會多一項OracleServiceSID的服務,這里的SID就是在安裝時填寫的字符串。因此在連接數據庫的時候都需要有SID信息,比如使用JDBC連接的時候。\x0d\x0a 2)密碼。這里的密碼是系統管理員的密碼(sys,sysdba)。\x0d\x0a 3. 接下來就可以按照界面提示安裝了,安裝過程中會檢查電腦配置,如果符合要求就可以繼續安裝。\x0d\x0a 4. 安裝結束后,會生成一個database config的界面,上面有安裝的數據庫的sid, port等信息。(可以把這個界面保存起來,防止以后忘記相關信息)\x0d\x0a二:Oracle的連接\x0d\x0a 安裝完成后,就可以連接數據庫了,連接Oracle可以通過SQLPlus,SQLDeveloper,建議可以使用SQLDeveloper,因為它界面不錯。在程序-Oracle11g-應用開發程序 下面有SQLDeveloper,第一次啟動時,需要設置java.exe的路徑(SQLDeveloper應該是JAVA開發的),之后就可以看到連接界面了。接下來需要填寫連接信息,第一次連接時,必須先通過sysdba進行連接,所以要使用安裝時設置的密碼,其它信息如下:\x0d\x0a 1)需要選擇登錄身份為系統管理員 2)sid安裝時設置的sid值 3)端口號一般默認是1521\x0d\x0a 注意在連接的時候,需要確保在服務中的OracleServiceSID和OracleOraDb11g_home1TNSListener是打開的\x0d\x0a 填好上面的信息就可以登錄了。如果要創建自己的數據庫,需要下面幾個過程:\x0d\x0a 1.創建表空間,語句如下:\x0d\x0a CREATE TABLESPACE SampleTableSpace \x0d\x0a DATAFILE 'D:/app/Administrator/oradata/orcl/tableFile.dbfsize 8192M reuse\x0d\x0a AUTOEXTEND ON NEXT 8192M MAXSIZE unlimited\x0d\x0a EXTENT MANAGEMENT local;\x0d\x0a 2.創建一個用戶,并默認為SampleTableSpace表空間\x0d\x0a CREATE USER SampleUser IDENTIFIED BY Password\x0d\x0a DEFAULT TABLESPACE SampleTableSpace;\x0d\x0a 3.為用戶授權:\x0d\x0a GRANT connect, resource TO SampleUser ;\x0d\x0a 注意,接下來的操作必須在SampleUser的連接中進行,步驟如下:\x0d\x0a 1.在SQLDeveloper中新建一個連接,并使用剛才創建的SampleUser信息進行登錄\x0d\x0a 2.接下來在SampleUser的連接中就可以使用sql進行各種操作,這些操作都會在SampleTableSpace中進行。\x0d\x0a三: 數據導入導出\x0d\x0a Oracle提供數據導入和導出功能.命令為imp/exp,可以在cmd下運行,它們可以將數據庫中的表或其它對象導出為.dmp文件,或者將dmp文件導入,具體使用方法可以google一下,應該比較好用。\x0d\x0a \x0d\x0a上面是之前使用Oracle11g時的一些經驗,如果有不正確的地方,也請大家補充。
在應用程序開發下面,有個SQL PLUS,可以在那里進行數據庫的各種操作,比如對系統的管理、用戶管理、數據的增刪查改、各種對象的建立(表、視圖、序列、同義詞、存儲過程等等),不過這個是純文本的操作環境,對用戶要求較高,也比較繁瑣。
最好安裝一個第三方的PL SQL工具,比如PLSQL DEVELOPER、TOAD都比較好用。這些都是圖形界面,易于操作,對新手來說,絕對比ORACLE自帶的SQL PLUS好用百倍,容易上手。
有問題請追問,如滿意請采納。
網站名稱:oracle簡潔版怎么用 oracle入門很簡單
分享鏈接:http://vcdvsql.cn/article14/hepsge.html
成都網站建設公司_創新互聯,為您提供電子商務、動態網站、用戶體驗、域名注冊、網頁設計公司、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯