當前位置:首頁 » 編程語言 » 電商測試常用的sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

電商測試常用的sql

發布時間: 2023-02-06 17:38:42

㈠ 第三方測試報告使用的語言可以為

第三方測試報告的語言一般為中文,英文為輔。
具體得看您所在的公司通常使用什麼樣的格式,不必刻意追求多語言,測試的本質才時最重要的。

㈡ 搜集sql常用的操作語句

結構化查詢語言(Structured Query Language)簡稱SQL(發音:/ˈes kjuː ˈel/ "S-Q-L"),是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。

一、插入(復制)表數據

1、INSERT INTO 語句:

(1)插入新的一行數

[sql] view plain ;

INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing');

(2)在指定的列中插入數據

[sql] view plain ;

INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees');

2、SQL SELECT INTO 語句可用於創建表的備份復件

(1)在建表時復制所有數據

[sql] view plain ;

create table userinfo_new as select * from userinfo;

(2)在建表時復制部分數據

[sql] view plain ;

create table userinfo_new1 as select id,username from userinfo;

(3)在添加時復制所有數據

[sql] view plain ;

insert into userinfo_new select * from userinfo;

(4)在添加時復制部分數據

[sql] view plain ;

insert into userinfo_new(id,username) select id,username from userinfo;

二、修改表數據

Update 語句

(1)無條件更新

[sql] view plain ;

update userinfo set userpwd='111',email='[email protected]';

(2)有條件更新

[sql] view plain ;

update userinfo set userpwd='123456' where username='xxx';

三、刪除表數據

1、DELETE 語句

(1)無條件刪除

[sql]view plain;

daletefromuserinfo;

(2)有條件刪除

[sql]view plain;

='yyy';

四、查詢表數據

1、SELECT 語句:

(1)查詢所有欄位

[sql] view plain ;

select * from users;

(2)查詢指定欄位

[sql] view plain ;

select username,salary from users;

2、SELECT DISTINCT 語句

從 Company" 列中僅選取唯一不同的值,需要使用 SELECT DISTINCT 語句:

[sql] view plain ;

SELECT DISTINCT Company FROM Orders;

㈢ 常用的sql函數

--數據操作
2
3 SELECT --從資料庫表中檢索數據行和列
4 INSERT --向資料庫表添加新數據行
5 DELETE --從資料庫表中刪除數據行
6 UPDATE --更新資料庫表中的數據
7
8 --數據定義
9
10 CREATE TABLE --創建一個資料庫表
11 DROP TABLE --從資料庫中刪除表
12 ALTER TABLE --修改資料庫表結構
13 CREATE VIEW --創建一個視圖
14 DROP VIEW --從資料庫中刪除視圖
15 CREATE INDEX --為資料庫表創建一個索引
16 DROP INDEX --從資料庫中刪除索引
17 CREATE PROCEDURE --創建一個存儲過程
18 DROP PROCEDURE --從資料庫中刪除存儲過程
19 CREATE TRIGGER --創建一個觸發器
20 DROP TRIGGER --從資料庫中刪除觸發器
21 CREATE SCHEMA --向資料庫添加一個新模式
22 DROP SCHEMA --從資料庫中刪除一個模式
23 CREATE DOMAIN --創建一個數據值域
24 ALTER DOMAIN --改變域定義
25 DROP DOMAIN --從資料庫中刪除一個域
26
27 --數據控制
28
29 GRANT --授予用戶訪問許可權
30 DENY --拒絕用戶訪問
31 REVOKE --解除用戶訪問許可權
32
33 --事務控制
34
35 COMMIT --結束當前事務
36 ROLLBACK --中止當前事務
37 SET TRANSACTION --定義當前事務數據訪問特徵
38
39 --程序化SQL
40
41 DECLARE --為查詢設定游標
42 EXPLAN --為查詢描述數據訪問計劃
43 OPEN --檢索查詢結果打開一個游標
44 FETCH --檢索一行查詢結果
45 CLOSE --關閉游標
46 PREPARE --為動態執行准備SQL 語句
47 EXECUTE --動態地執行SQL 語句
48 DESCRIBE --描述准備好的查詢
49
50 ---局部變數
51 declare @id varchar(10)
52 --set @id = 'sp'
53 select @id = 'sp'
54
55 ---全局變數
56 ---必須以@@開頭
57 --IF ELSE
58 declare @x int @y int @z int
59 select @x = 1 @y = 2 @z=3
60 if @x > @y
61 print 'x > y' --列印字元串'x > y'
62 else if @y > @z
63 print 'y > z'
64 else print 'z > y'
65 --CASE
66 use pubs
67 update employee
68 set e_wage =
69 case
70 when job_level = 』1』 then e_wage*1.08
71 when job_level = 』2』 then e_wage*1.07
72 when job_level = 』3』 then e_wage*1.06
73 else e_wage*1.05
74 end
75 --WHILE CONTINUE BREAK
76 declare @x int @y int @c int
77 select @x = 1 @y=1
78 while @x < 3
79 begin
80 print @x --列印變數x 的值
81 while @y < 3
82 begin
83 select @c = 100*@x + @y
84 print @c --列印變數c 的值
85 select @y = @y + 1
86 end
87 select @x = @x + 1
88 select @y = 1
89 end
90 --WAITFOR
91
92 --例 等待1 小時2 分零3 秒後才執行SELECT 語句
93
94 waitfor delay 』01:02:03』
95 select * from employee
96
97 --例 等到晚上11 點零8 分後才執行SELECT 語句
98
99 waitfor time 』23:08:00』
100
101
102SELECT
103
104 select *(列名) from table_name(表名) where column_name operator value ex宿主)
105 select * from stock_information where stockid = str(nid)
106 stockname = 'str_name'
107 stockname like '% find that %'
108 stockname like '[a-zA-Z]%' --------- ([]指定值的范圍)
109 stockname like '[^F-M]%' --------- (^排除指定范圍)
110 --------- 只能在使用like關鍵字的where子句中使用通配符)
111 or stockpath = 'path'
112 or stocknumber < 1000
113 and stockindex = 24
114 not stocksex = 'man'
115 stocknumber between 20 and 100
116 stocknumber in(10,20,30)
117 order by stockid desc(asc) --------- 排序,desc-降序,asc-升序
118 order by 1,2 --------- by列號
119 stockname = (select stockname from stock_information where stockid = 4)
120 --------- 子查詢
121 --------- 除非能確保內層select只返回一個行的值
122 --------- 否則應在外層where子句中用一個in限定符
123 select distinct column_name form table_name
124 --------- distinct指定檢索獨有的列值,不重復
125 select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name
126 select stockname , "stocknumber" = count(*) from table_name group by stockname
127 --------- group by 將表按行分組,指定列中有相同的值
128 having count(*) = 2 --------- having選定指定的組
129
130 select *
131 from table1, table2
132where table1.id *= table2.id -------- 左外部連接,table1中有的而table2中沒有得以null表示
133 table1.id =* table2.id -------- 右外部連接
134 select stockname from table1
135 union [all] -------- union合並查詢結果集,all-保留重復行
136 select stockname from table2
137
138 insert
139
140 insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx"
141 value (select Stockname , Stocknumber from Stock_table2)
142 -------value為select語句
143
144 update
145
146 update table_name set Stockname = "xxx" [where Stockid = 3]
147 Stockname = default
148 Stockname = null
149 Stocknumber = Stockname + 4
150
151 delete
152
153 delete from table_name where Stockid = 3
154 truncate table 表名 --------- 刪除表中所有行,仍保持表的完整性
155 drop table table_name --------- 完全刪除表
156
157 alter table -------- 修改資料庫表結構
158
159 alter table database.owner.table_name add column_name char(2) null ..
160 sp_help 表名 -------- 顯示表已有特徵
161 create table table_name (name char(20), age smallint, lname varchar(30))
162 insert into table_name select -------- 實現刪除列的方法(創建新表)
163 alter table table_name drop constraint Stockname_default
164 --------- 刪除Stockname的default約束
165
166
167常用函數(function)
168轉換函數
169convert(數據類型,值,格式)
170
171 統計函數
172
173 AVG --求平均值
174 COUNT --統計數目
175 MAX --求最大值
176 MIN --求最小值
177 SUM --求和
178 STDEV()
179
180 --STDEV()函數返回表達式中所有數據的標准差
181 --STDEVP()
182 --STDEVP()函數返回總體標准差
183
184 VAR()
185
186 --VAR()函數返回表達式中所有值的統計變異數
187
188 VARP()
189
190 --VARP()函數返回總體變異數
191
192 算術函數
193
194 三角函數
195
196 SIN(float_expression) --返回以弧度表示的角的正弦
197 COS(float_expression) --返回以弧度表示的角的餘弦
198 TAN(float_expression) --返回以弧度表示的角的正切
199 COT(float_expression) --返回以弧度表示的角的餘切
200
201 反三角函數
202
203 ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角
204 ACOS(float_expression) --返回餘弦是FLOAT 值的以弧度表示的角
205 ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角
206 ATAN2(float_expression1,float_expression2)
207 ------返回正切是float_expression1 /float_expres-sion2的以弧度表示的角
208 DEGREES(numeric_expression)
209 ------把弧度轉換為角度返回與表達式相同的數據類型可為
210 ------INTEGER/MONEY/REAL/FLOAT 類型
211 RADIANS(numeric_expression)
212------把角度轉換為弧度返回與表達式相同的數據類型可為
213
214 ------INTEGER/MONEY/REAL/FLOAT 類型
215 EXP(float_expression) --返回表達式的指數值
216 LOG(float_expression) --返回表達式的自然對數值
217 LOG10(float_expression)--返回表達式的以10 為底的對數值
218 SQRT(float_expression) --返回表達式的平方根
219
220 取近似值函數
221
222 CEILING(numeric_expression)
223-------返回>=表達式的最大整數返回的數據類型與表達式相同可為
224 -------INTEGER/MONEY/REAL/FLOAT 類型
225 FLOOR(numeric_expression)
226-------返回<=表達式的最小整數返回的數據類型與表達式相同可為
227 -------INTEGER/MONEY/REAL/FLOAT 類型
228 ROUND(numeric_expression)
229-------返回以integer_expression 為精度的四捨五入值返回的數據
230 -------類型與表達式相同可為INTEGER/MONEY/REAL/FLOAT 類型
231 ABS(numeric_expression)
232-------返回表達式的絕對值返回的數據類型與表達式相同可為
233 -------INTEGER/MONEY/REAL/FLOAT 類型
234 SIGN(numeric_expression)
235-------測試參數的正負號返回0 零值1 正數或-1 負數返回的數據類型
236 -------與表達式相同可為INTEGER/MONEY/REAL/FLOAT 類型
237 PI() -------返回值為π 即3.1415926535897936
238 RAND([integer_expression])
239-------用任選的[integer_expression]做種子值得出0-1 間的隨機浮點數
240字元串函數
241
242 ASCII() ------函數返回字元表達式最左端字元的ASCII 碼值
243 CHAR() ------函數用於將ASCII 碼轉換為字元
244 ------如果沒有輸入0 ~ 255 之間的ASCII 碼值CHAR 函數會返回一個NULL 值
245 LOWER() ------函數把字元串全部轉換為小寫
246 UPPER() ------函數把字元串全部轉換為大寫
247 STR() ------函數把數值型數據轉換為字元型數據
248 LTRIM() ------函數把字元串頭部的空格去掉
249 RTRIM() ------函數把字元串尾部的空格去掉
250 LEFT(),RIGHT(),SUBSTRING() --函數返回部分字元串
251 CHARINDEX(),PATINDEX() --函數返回字元串中某個指定的子串出現的開始位置
252 SOUNDEX() ------函數返回一個四位字元碼
253 ------SOUNDEX函數可用來查找聲音相似的字元串但SOUNDEX函數對數字和漢字均只返回0 值
254 DIFFERENCE() ------函數返回由SOUNDEX 函數返回的兩個字元表達式的值的差異
255 ------0 兩個SOUNDEX 函數返回值的第一個字元不同
256 ------1 兩個SOUNDEX 函數返回值的第一個字元相同
257 ------2 兩個SOUNDEX 函數返回值的第一二個字元相同
258 ------3 兩個SOUNDEX 函數返回值的第一二三個字元相同
259 ------4 兩個SOUNDEX 函數返回值完全相同同
260 QUOTENAME() ------函數返回被特定字元括起來的字元串
261
262 /**//**//**//*select quotename('abc', '{') quotename('abc')
263 運行結果如下
264
265 {
266 {abc} [abc]*/
267 REPLICATE() ------函數返回一個重復character_expression 指定次數的字元串
268 /**//**//**//*select replicate('abc', 3) replicate( 'abc', -2)
269
270 運行結果如下
271
272 abcabcabc NULL*/
273 REVERSE() ------函數將指定的字元串的字元排列順序顛倒
274 REPLACE() ------函數返回被替換了指定子串的字元串
275 /**//**//**//*select replace('abc123g', '123', 'def')
276
277 運行結果如下
278
279 abcdefg*/
280
281 SPACE() ------函數返回一個有指定長度的空白字元串
282 STUFF() ------函數用另一子串替換字元串指定位置長度的子串
283
284 數據類型轉換函數
285
286 CAST() 函數語法如下
287 CAST() ( AS [ length ])
288 CONVERT() 函數語法如下
289 CONVERT() ([ length ], [, style])
290 select cast(100+99 as char) convert(varchar(12), getdate())
291
292 運行結果如下
293 199 Jan 15 2000
294
295 日期函數
296
297 DAY() ------函數返回date_expression 中的日期值
298 MONTH() ------函數返回date_expression 中的月份值
299 YEAR() ------函數返回date_expression 中的年份值
300 DATEADD( , ,)
301 -----函數返回指定日期date 加上指定的額外日期間隔number 產生的新日期
302 DATEDIFF( , ,)
303 -----函數返回兩個指定日期在datepart 方面的不同之處
304
305 DATENAME( , ------函數以字元串的形式返回日期的指定部分
306 DATEPART( , ------函數以整數值的形式返回日期的指定部分
307 GETDATE() ------函數以DATETIME 的預設格式返回系統當前的日期和時間
308
309 系統函數
310
311 APP_NAME() ------函數返回當前執行的應用程序的名稱
312 COALESCE() -----函數返回眾多表達式中第一個非NULL 表達式的值
313 COL_LENGTH(<'table_name'>, <'column_name'> ----函數返回表中指定欄位的長度值
314 COL_NAME(, ----函數返回表中指定欄位的名稱即列名
315 DATALENGTH() -----函數返回數據表達式的數據的實際長度
316 DB_ID(['database_name']) ------函數返回資料庫的編號
317 DB_NAME(database_id) ------函數返回資料庫的名稱
318 HOST_ID() -----函數返回伺服器端計算機的名稱
319 HOST_NAME() -----函數返回伺服器端計算機的名稱
320 IDENTITY([, seed increment]) [AS column_name])
321 --IDENTITY() 函數只在SELECT INTO 語句中使用用於插入一個identity column列到新表中
322 /**//**//**//*select identity(int, 1, 1) as column_name
323 into newtable
324 from oldtable*/
325
326 ISDATE() ----函數判斷所給定的表達式是否為合理日期
327 ISNULL(, --函數將表達式中的NULL 值用指定值替換
328 ISNUMERIC() ----函數判斷所給定的表達式是否為合理的數值
329 NEWID() ----函數返回一個UNIQUEIDENTIFIER 類型的數值
330 NULLIF(,
331 ----NULLIF 函數在expression1 與expression2 相等時返回NULL 值若不相等時則返回xpression1 的值

㈣ 數據分析人必掌握的資料庫語言-SQL指南第七期

本篇重點為大家講解 組合數據、數據插入、更新和刪除數據 相關內容。



多數SQL查詢只包含從一個或多個表中返回數據的單條 SELECT 語句。但是,SQL也允許執行多個查詢,並將結果作為一個查詢結果集返回。這些組合查詢通常稱為並 (union) 或復合查詢 (compound query)。

主要有 兩種情況 需要使用組合查詢:

在一個查詢中從不同的表返回結構數據;

對一個表執行多個查詢,按一個查詢返回數據。

創建組合查詢

利用 UNION ,可給出多條 SELECT 語句,將它們的結果組合成一個結果集。

使用方法: 給出每條SELECT語句,在各條語句之間放上關鍵字UNION。

假如需要Illinois、Indiana和Michigan等美國幾個州的所有顧客的報表,還想包括不管位於哪個州的所有的Fun4All。

分析:這條語句由兩條 SELECT語句 組成,之間用 UNION 關鍵字分隔。UNION指示DBMS執行這兩條SELECT語句,並把輸出組合成一個查詢結果集。

在簡單的例子中,使用UNION可能比使用WHERE子句更為復雜。但對於較復雜的過濾條件,或者從多個表中檢索數據的情形,使用UNION可能會使處理更簡單。

1、UNION規則

UNION必須由 兩條或兩條以上 的SELECT語句組成,語句之間用關鍵字 UNION分隔。

UNION中的每個查詢必須包含相同的 列、表達式或聚集函數。

列數據類型 必須兼容 :類型不必完全相同,但必須是DBMS可以隱含轉換的類型。

2、包含或取消重復的行

使用 UNION 時, 重復的行會被自動取消 ,這是UNION的默認行為,如果想返回所有的匹配行,可使用 UNION ALL

3、對組合查詢結果排序

在用 UNION組合查詢 時,只能使用一條 ORDER BY 子句,它必須位於最後一條SELECT語句之後。

TopBDA大數據分析師培訓

除了SQL資料庫學習,還有大量數據分析知識和實操等你 探索 !

SELECT是最常用的SQL語句,還有其他3個常用的SQL語句需要學習,第一個就是 INSERT ,另外兩個之後為大家介紹。

INSERT用來 將行插入或添加到資料庫表 ,插入有幾種方式:

插入完整的行;

插入行的一部分;

插入某些查詢的結果。

插入完整的行

把數據插入表中的最簡單方法是使用基本的 INSERT 語法。

分析:在插入行時,DBMS將用VALUES列表中的相應值填入列表中的對應項。VALUES中的第一個值對應於第一個指定列名,第二個值對應於第二個列名,如此等等。

插入部分行

使用這種語法,還可以 省略列 ,這表示可以只給某些列提供值,給其他列不提供值。

分析:沒有給 cust_contact cust_email 這兩列提供值,這表示沒必要在INSERT語句中包含它們。因此,這里的INSERT語句 省略了這兩列及其對應的值。

插入檢索出的數據

INSERT一般用來給表插入具有指定列值的行。

INSERT還存在另一種形式, 可以利用它將SELECT語句的結果插入表中, 這就是所謂的 INSERT SELECT

假如想把另一表中的顧客列合並到Customers表中,不需要每次讀取一行再將它用INSERT插入,可以如下進行:

分析:使用INSERT SELECT從CustNew中將所有數據導入Customers。SELECT語句從CustNew檢索出要插入的值,SELECT中列出的每一列對應於Customers表名後所跟的每一列。

從一個表復制到另一個表

可以使用 CREATE SELECT 語句(或者在SQL Server里也可用 SELECT INTO 語句)。

INSERT SELECT 將數據添加到一個已經存在的表不同,CREATE SELECT將數據復制到一個新表。

使用SQL Server,可以這么寫:

分析:創建一個名為CustCopy的新表,並把Customers表的整個內容復制到新表中。

在使用 SELECT INTO 時,任何SELECT選項和子句都可以使用,包括 WHERE GROUP BY ;可利用連接從多個表插入數據;不管從多少個表中檢索數據,數據都只能插入到一個表中。



更新數據

更新表中的數據,可以使用 UPDATE 語句,使用UPDATE的方式有兩種:

更新表中的特定行;

更新表中的所有行。

基本UPDATE語句由三部分組成,分別是:

要更新的表;

列名和它們的新值;

確定要更新哪些行的過濾條件。

舉一個簡單例子,客戶1現在有了電子郵件地址,因此他的記錄需要更新,語句如下:

分析:UPDATE語句以要更新的表名開始。要更新的表名為Customers。SET命令用來將新值賦給被更新的列。UPDATE語句以WHERE子句結束,它告訴DBMS更新哪一行。

更新多個列的語法稍有不同。

分析:在更新多個列時,只需要使用一條SET命令,每個「列=值」對之間用逗號分隔(最後一列之後不用逗號)。

要刪除某個列的值,可設置它為NULL。

分析:NULL用來去除cust_email列中的值。

刪除數據

從一個表中刪除數據,使用DELETE語句,使用DELETE的方式有兩種:

從表中刪除特定的行;

從表中刪除所有行。

分析:DELETEFROM要求指定刪除數據的表名,WHERE子句過濾要刪除的行。如果省略WHERE子句,它將刪除表中每個顧客。

DELETE不需要列名或通配符 ,DELETE刪除整行而不是刪除列,要刪除指定的列,使用 UPDATE 語句。

使用 UPDATE或DELETE 時所遵循的重要原則:

除非更新和刪除每一行,否則絕對不要使用不帶WHERE子句的UPDATE或DELETE語句。

保證每個表都有主鍵,盡可能像WHERE子句那樣使用它。

在UPDATE或DELETE語句使用WHERE子句前,應該先用SELECT進行測試,保證它過濾的是正確的記錄,以防編寫的WHERE子句不正確。

使用強制實施引用完整性的資料庫,這樣DBMS將不允許刪除其數據與其他表相關聯的行。

有的DBMS允許資料庫管理員施加約束,防止執行不帶WHERE子句的UPDATE或DELETE語句。若是SQL沒有撤銷(undo)按鈕,應該非常小心地使用UPDATE和DELETE。

以上就是今天分享的全部內容,下期重點為大家介紹 使用視圖和創建和操縱表 ,我們下期見!

㈤ SQL是什麼什麼化語言

SQL語言簡介:

結構化查詢語言(Structured Query Language)簡稱SQL(發音:/ˈes kjuː ˈel/ "S-Q-L"),是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。

SQL語句:

主要是由sql 關鍵字加sql對象的名稱組合而成。

常見的sql操作語句有:

insert(增) update(改) delete(刪除) select(查) where (條件限定關鍵字)

/*例:下文將創建一個基本的sql操作語句*/
----創建數據表
createtableA(keyIdint,namevarchar(20))
go
----使用insert新增數據
insertintoA(keyId,name)values(1,'a')
insertintoA(keyId,name)values(2,'b')
insertintoA(keyId,name)values(3,'c')
go
----使用update更新指定行數據
updateAsetname='test'wherekeyId=2
----使用delete刪除指定行數據
deletefromAwherekeyId=1
----使用select查詢數據
selectkeyId,namefromA
go
truncatetableA---清除當前測試表數據
droptableA---刪除測試表結構

SQL其它連接關鍵字使用:

join 連接關鍵字:

可以通過join 關鍵字將兩張及多張表進行連接,然後通過相應的查詢條件返回連接後的集合

createtableA(keyIdintprimarykey,infovarchar(60),writeDatedatetime)
insertintoAvalues
(1,'a','2017-1-1'),
(2,'b','2017-1-2'),
(3,'c','2017-1-3')
go
createtableB(keyId2int,info2varchar(60),writeDate2datetime)
insertintoBvalues
(11,'a','2017-1-1'),
(2,'b','2017-1-2'),
(2,'b2','2017-12-2'),
(13,'c','2017-1-3'),
(1,'a2','2017-1-1')
go
/*單欄位左連接進行笛卡爾運算*/
select*fromAleftjoinBona.keyId=b.keyId2
go
/*多欄位左連接進行笛卡爾運算*/
select*fromAleftjoinBona.keyId=b.keyId2andA.info=b.info2
go
truncatetableA
droptableA
truncatetableB
droptableB

SQL控制關鍵字:

sql 腳本中常用的關鍵字還有 while for if else do while 等控制語句。

SQL語句:

綜上所述SQL語句是由sql關鍵字和SQL對象名組合成sql代碼。

㈥ SQL資料庫常用命令及語法舉例

下面是一些常用的SQL語句,雖然很基礎,可是卻很值得收藏,對於初學者非常實用

㈦ sql語句用什麼語句

SQL語句:

主要是由sql 關鍵字加sql對象的名稱組合而成。

常見的sql操作語句有:

insert(增) update(改) delete(刪除) select(查) where (條件限定關鍵字)

/*例:下文將創建一個基本的sql操作語句*/
----創建數據表
createtableA(keyIdint,namevarchar(20))
go
----使用insert新增數據
insertintoA(keyId,name)values(1,'a')
insertintoA(keyId,name)values(2,'b')
insertintoA(keyId,name)values(3,'c')
go
----使用update更新指定行數據
updateAsetname='test'wherekeyId=2
----使用delete刪除指定行數據
deletefromAwherekeyId=1
----使用select查詢數據
selectkeyId,namefromA
go

truncatetableA---清除當前測試表數據
droptableA---刪除測試表結構

SQL其它連接關鍵字使用:

join 連接關鍵字:

可以通過join 關鍵字將兩張及多張表進行連接,然後通過相應的查詢條件返回連接後的集合

createtableA(keyIdintprimarykey,infovarchar(60),writeDatedatetime)
insertintoAvalues
(1,'a','2017-1-1'),(2,'b','2017-1-2'),(3,'c','2017-1-3')
go
createtableB(keyId2int,info2varchar(60),writeDate2datetime)
insertintoBvalues
(11,'a','2017-1-1'),(2,'b','2017-1-2'),(2,'b2','2017-12-2'),(13,'c','2017-1-3'),(1,'a2','2017-1-1')
go

/*單欄位左連接進行笛卡爾運算*/
select*fromAleftjoinBona.keyId=b.keyId2
go
/*多欄位左連接進行笛卡爾運算*/
select*fromAleftjoinBona.keyId=b.keyId2andA.info=b.info2
go

truncatetableA
droptableA

truncatetableB
droptableB

SQL控制關鍵字:

sql 腳本中常用的關鍵字還有 while for if else do while 等控制語句。

SQL語句:

綜上所述SQL語句是由sql關鍵字和SQL對象名組合成sql代碼。

㈧ 在SQL的分類中有DML\DDL\DCL,哪些屬於DML,哪些屬於DDL,哪些屬於DCL

在一些公司中提交給測試團隊的SQL腳本會劃分為DDL、DML等,但這些概念到底是如何定義的呢?

SQL(StructureQueryLanguage)是資料庫操作的的核心語言,接下來我們通過一張圖來進行分析:

如果想系統的學習編程可以來我這看看

DDL(DataDefinitionLanguages)語句:即資料庫定義語句,用來創建資料庫中的表、索引、視圖、存儲過程、觸發器等
常用的語句關鍵字有:CREATE,ALTER,DROP,TRUNCATE,COMMENT,RENAME。

DML(DataManipulationLanguage)語句:即數據操縱語句,用來查詢、添加、更新、刪除等
常用的語句關鍵字有:SELECT,INSERT,UPDATE,DELETE,MERGE,CALL,EXPLAINPLAN,LOCKTABLE,包括通用性的增刪改查。

DCL(DataControlLanguage)語句:即數據控制語句,用於授權/撤銷資料庫及其欄位的許可權(mostlyconcernedwithrights,.)。
常用的語句關鍵字有:GRANT,REVOKE。

TCL(TransactionControlLanguage)語句:事務控制語句,用於控制事務
常用的語句關鍵字有:COMMIT,ROLLBACK,SAVEPOINT,SETTRANSACTION。

DQL:(DataQueryLanguage)語句:數據查詢語言
常用的語句關鍵字有:SELECT,FROM,WHERE,ORDERBY,HAVING,ASC|DESC

希望對您有所幫助!~

㈨ SQL計算電商各項指標數據

本次筆記主要是記錄通過SQL計算電商各項指標數據,包括AARRR部分指標、RFM模型等常用的指標數據;

平台指標:

商品指標:

用戶行為指標:

RFM模型:見之前的文章《 SQL建立RFM模型指標的兩種方法對比 》

用戶留存率:見之前文章《 SQL 查詢用戶留存率(根據兩種不同定義計算) 》

首先我們導入相關數據,並去重數據放進新表 temp_trade;

由於時間關系,以導入如下數據,期間利用
SET date_time = STR_TO_DATE(time,'%Y-%m-%d %H');
set dates=date(date_time);
這兩個函數對原表(紅框)日期進行處理;

再檢查一下關鍵欄位有無缺失值

查詢後得出並無缺失。

查詢結果無異常值;

檢查用戶行為數據有沒有其他類型;

查詢結果無異常值;

-- 建新表,放進 去重後的 數據

create table temp_trade like o_retailers_trade_user;
insert into temp_trade select distinct * from o_retailers_trade_user;

查詢結果:

這里定義跳失率=只有瀏覽行為的用戶數/總用戶數

查詢結果

這里的購買轉化率定義為:某段時間產生購買行為的用戶數/所有到達店鋪的訪客人數

查詢結果:

同時可以通過這演算法求得:每天總行為次數、每天點擊次數、收藏次數、加購物⻋次數、購買次數

查詢結果如下:

由於轉化率的對象是商品,所以以商品id做分組,求對應的用戶行為數求和。可得出每商品的在該段時間內的瀏覽、收藏、加購、購買次數,同時可求得商品購買轉化率。

查詢結果:

此方法與上面商品轉化率大致相同,分組對象改為品類id即可。

查詢結果:

首先創建hours的新欄位,並提取時間;

查詢結果如下:

首先求出各用戶的購買次數

查詢結果:

用case when函數統計出各復購買次數的用戶數

查詢結果如下:

最後將行為串聯起來,並對其進行用戶數統計;

查詢結果如下:

(完結)

㈩ 電子商務系統的下訂單sql語句怎麼寫

訂單表生成一條訂單信息,關聯的訂單詳情表保存訂單包含的商品詳情,包括商品ID,價格,數量,商品上架時間戳,同時,用戶訂單表關聯的配送地址表保存用戶地址。