當前位置:首頁 » 編程語言 » 根據表生成sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

根據表生成sql

發布時間: 2022-07-19 07:53:22

A. 怎麼根據mysql資料庫表生成sql語句

1、先用NavicatforMySQL創建名字為shopping的資料庫,如下圖所示:2、創建的shopping資料庫上運行已有的.sql文件,要注意上面創建的資料庫名字shopping最好和原先.sql文件中的名字一樣,也可以不一樣,如果不一樣的話會自動生成原來.sql文件

B. 如何將一個表的數據導出為 SQL 語句

InSSMSintheObjectExplorer,rightclickonthedatabaseright-clickandpick"Tasks"andthen"GenerateScripts".


,andoneoftheoptionsis"ScriptData".IfyousetthattoTRUE,()statementforyourdata.

C. 怎樣將SQL中某一個表的數據生成SQL腳本

表的數據無法生成SQL腳本

表可以生成SQL腳本,方法是表上右擊、生成表腳本、create到...

D. 怎樣把資料庫中的表和數據批量生成sql語句

我在用的是一款名叫 navicat 8.0的mysql管理工具,右鍵選擇要導出的表,選擇mp table就可以了,其實後台跑的也就是上面幾位大俠說的命令。

E. navicat 根據已有的表產生sql語句

選中表,右擊 -> 選擇對象信息 -> 從彈出的窗口裡選擇DDL

F. 怎麼把sql server 資料庫某表的表結構導出成sql語句

可在圖形界面下操作。

步驟:

1、登錄sqlserver資料庫。

2、在左邊的樹列表中找到要導出的表,如圖中選擇的是dbo.test表。

G. 如何使用C#根據表創建SQL索引腳本

這里的distinct表示去重,也可以用group by實現, 兩者的區別在於distinct會讀取所有的記錄,而group by是在分組之後每組只返回一條記錄,也就是說後者讀取的條數要少很多,效率會更高一些,因此可以將上述代碼改為:
create table validate_set as
select
user_id,
wm_concat(',',brand_id) as brand
from(
select user_id,brand_id
from t_alibaba_bigdata_user_brand_total_1
where type = '1' and visit_datetime > '07-15'
group by user_id,brand_id
)a
group by user_id;
訓練集和測試集建立好之後,我們可以通過以下命令來計算測試集的推薦數目:

select sum(regexp_count(brand,',')+1) from t_tmall_add_user_brand_predict_dh;
其中REGEXP_COUNT是ODPS的一個自建函數,它的用法如下:

bigint regexp_count(string source, string pattern[, bigint start_position])
表示計算 source 中從 start_position 開始,匹配指定模式pattern 的子串的次數。比如我們有一條輸出結果是:100 1,2,3,4,通過計算其中的,數(3)+1=4就計算出推薦的個數了。

UDF計算重復條數

UDF(User-Defined Function)(用戶定義函數),是用戶根據實際應用的需要而自行開發的函數。在 Eclipse 中的項目下新建 UDF。填入 Package 名稱為:chanvee.udf,和 UDF 類名:CountHits,點擊確認。插件會自動幫我們生成chanvee.udf包用於寫 UDF 代碼,和test.chanvee.udf包用於本地測試。

編輯CountHits.java文件,注意下文的Long不能替換為long類型,否則在ODPS上運行會報Method Not Found錯誤:

package chanvee.udf
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class CountHits extends UDF {
public Long evaluate (String a,String b){
if(a == null || b == null) {
return 0L; //異常值
}
Set<String> set1 = new HashSet<String>();
Set<String> set2 = new HashSet<String>();
set1.addAll(Arrays.asList(a.split(",")));
set2.addAll(Arrays.asList(b.split(",")));
Long hits = 0L;
for(String s : set2){
if( set1.contains(s) )
hits++;
}
return hits;
}
}
本段函數的主要工作是在a串和b串去重後,計算它們中重復元素的個數。接下來在本地測試下 UDF 。在test.jark.udf包中有兩個文件TestCountHits.java和TestUDFBase.java。由於如果 UDF 的輸入參數是多個的話,本地測試默認的分隔符是逗號,與我們brand中的逗號沖突了。所以修改下TestUDFBase.java文件的第15行的分隔符為空格(當然也可以其他符號):

private final static String ODPS_SEPARATOR = " ";
同時修改第72行,去掉(String),原因是Long型不能強制轉換成String:

return callMeth.invoke(UDFClass, input_parameter.toArray()) + "\n";
在TestCountHits.in文件中輸入測試樣例:

H. 如何將Excel中表結構數據自動生成SQL腳本的方法

一: 在本地PC新建一個Excel文件(例如:excel2007)
准備工作,左鍵選擇excel文本左上角的圖標,選擇「Excle選項」。1. 點擊「信任中心」->「信任中心設置」->「宏設置」->選擇「啟用所有宏...」選項。「開發人員宏設置」選項也勾選上。 2. 點擊「信任中心」->「信任中心設置」->選擇「個人信息選項」,將「文檔特定設置」上面默認選擇去掉,避免在保存腳本時報錯。
二: 在本地PC新建一個excel文件(例如: D:\testdate.xlsx)
按快捷鍵「ALT + F11」進入宏編輯,輸入如下代碼後保存。summary()為目標生成代碼,SQL()為生成SQL腳本文件代碼,按條件生成SQL的腳本如下:
Sub summary()
Dim i As Integer
i = 2
ThisWorkbook.Worksheets(1).Columns(2).Clear
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> " " Then
ThisWorkbook.Worksheets(1).Cells(i, 2).Value = sh.Name
ThisWorkbook.Worksheets(1).Cells(i, 2).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
sh.Name + "!A1", TextToDisplay:=sh.Name
i = i + 1
End If
Next sh

ThisWorkbook.Worksheets(1).Cells.Select

With Selection.Font
.Name = "目錄"
.Size = 9
.Strikethrough = False
.Superscript. = False
.Subscript. = False
.OutlineFont = False
.Shadow = False
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
End Sub
Sub SQL()
Dim i As Integer
i = 1
Dim ADO_Stream As Object
Dim strSQL, strDelSQL As String
Dim strTblName As String
Dim col As Long
Dim row As Long
Dim str As String
Dim PK As String
Dim cnt As Integer

PK = "PK"
Dim rowcounts As Long
rowcounts = 0
Dim filecount As Long
filecount = 0
Set ADO_Stream = CreateObject("ADODB.Stream")
ADO_Stream.Type = 2
ADO_Stream.Mode = 3
ADO_Stream.Charset = "unicode"
ADO_Stream.Open

Dim checkType As String
For Each sh In ThisWorkbook.Worksheets
cnt = 0
If sh.Name <> " " And InStr(sh.Name, "template") = 0 Then
strTblName = sh.Cells(1, 2).Value
rowcounts = 1
'Insert SQL
row = 6

Do While sh.Cells(row, 1).Value <> ""
strDelSQL = "delete from " + strTblName + " where "
strSQL = "Insert into " + strTblName + " ("
col = 1
Do While sh.Cells(3, col).Value <> ""
If col <> 1 Then
strSQL = strSQL + ", "
End If
strSQL = strSQL + sh.Cells(3, col).Value
col = col + 1
Loop
strSQL = strSQL + ") VALUES ("
col = 1
Do While sh.Cells(3, col).Value <> ""

str = Trim(CStr(sh.Cells(row, col).Value))

If InStr(Trim(CStr(sh.Cells(2, col).Value)), PK) <> 0 Then
If cnt > 0 Then
strDelSQL = strDelSQL + " and "
End If
strDelSQL = strDelSQL + Trim(CStr(sh.Cells(3, col).Value)) + " = '" + str + "'"
cnt = cnt + 1
End If
If col <> 1 Then
strSQL = strSQL + ", "
End If

If (InStr(Trim(CStr(sh.Cells(4, col).Value)), "Integer") = 0) And (InStr(Trim(CStr(sh.Cells(4, col).Value)), "Decimal") = 0) And ((InStr(Trim(CStr(sh.Cells(4, col).Value)), "DATE") = 0) Or _
((Len(str) > 0) And (InStr(Trim(CStr(sh.Cells(4, col).Value)), "DATE") > 0))) Then
If (Len(str) <= 0) And (InStr(Trim(CStr(sh.Cells(5, col).Value)), "No") = 0) Then
str = "NULL"
ElseIf InStr(Trim(CStr(sh.Cells(4, col).Value)), "DATE") > 0 Then
str = "to_date('" + str + "','yyyy-mm-dd hh24:mi:ss')"
Else
str = "'" + str + "'"
End If

strSQL = strSQL + str
ElseIf (Len(str) <= 0) And (InStr(Trim(CStr(sh.Cells(4, col).Value)), "DATE") > 0) Then
strSQL = strSQL + "NULL"
Else
If (Len(str) <= 0) And (InStr(Trim(CStr(sh.Cells(5, col).Value)), "No") = 0) Then
str = "NULL"
End If

strSQL = strSQL + str
End If

col = col + 1
Loop

strDelSQL = strDelSQL + ";" + vbCrLf
ADO_Stream.WriteText strDelSQL
strSQL = strSQL + ");" + vbCrLf
ADO_Stream.WriteText strSQL
row = row + 1
Loop
End If
i = i + 1
rowcounts = 0
filecount = 0
Next sh
ADO_Stream.SaveToFile ThisWorkbook.Path & "\MstSQL(delete by condition).txt", 2
ADO_Stream.Close
Set ADO_Stream = Nothing
End Sub
點擊「保存」宏腳本,主要的一步完成。
三: 在excel文件(test.xlsx)的首頁創建兩個圖標,分別選擇右鍵指定宏,一個指定上面的summary(),一個指定上面的SQL()。然後就可以在後續的sheet頁創建自己需要生成SQL腳本的表結構名稱了,記得每個sheet頁面對應一個表結構及數據,使用方法如下:
A,將需要更新的對象表數據整個sheet拷進工具中,數據只保留需要更新的數據。
B,在第2行標出主鍵欄位,填上「PK」即可。
看看代碼
http://www.51testing.com/html/41/195041-831346.html

I. 如何利用電子表格自動生成sql語句

在表2的F4單元格輸入下面公式,公式完成後向下復制到合適位置即可。
=IF(表1!B4=1,IF(OR(E4="",E4>E$1),1,0),"")
公式解釋:
1、用你說的表1的工作表名稱(比如Sheet1)替換公式中的【表1】。如果你說的表1和表2在同一個工作表中,去掉公式中的【表1】。
2、用表1中B列上班下面的單元格單元格地址替換公式中的【B4】