sql加行數
❶ 怎樣在sql中用insert語句往表中插入多行
如果數據很多的話 建議可以用別的方法 特別是數據量比較多的時候
ORACLE 有一個SQLLODER 功能
1.生成百萬級的sql,保存SQL文件為getobject.sql
select a.owner||',"'||a.object_name||'",'||a.object_id||','||to_char(a.created ,'yyyy-mm-dd hh24:mi:ss')||','||a.status
from dba_objects a,(select rownum from al connect by rownum <= 20);
2.sql數據轉換成數據文件,保存腳本為call.sql
set echo off
set term off
set trimout on
set trimspool on
set pagesize 0
set feedback off
set heading off
spool c:\getobject.csv
@c:\getobject.sql
set spool off
set heading on
set feedback on
set trimspool off
set trimout off
set term on
set echo on
注釋:
set colsep' '; //-域輸出分隔符
set echo off; //顯示start啟動的腳本中的每個sql命令,預設為on
set echo on //設置運行命令是是否顯示語句
set feedback on; //設置顯示「已選擇XX行」
set feedback off; //回顯本次sql命令處理的記錄條數,預設為on
set heading off; //輸出域標題,預設為on
set pagesize 0; //輸出每頁行數,預設為24,為了避免分頁,可設定為0。
set linesize 80; //輸出一行字元個數,預設為80
set numwidth 12; //輸出number類型域長度,預設為10
set termout off; //顯示腳本中的命令的執行結果,預設為on
set trimout on; //去除標准輸出每行的拖尾空格,預設為off
set trimspool on; //去除重定向(spool)輸出每行的拖尾空格,預設為off
set serveroutput on; //設置允許顯示輸出類似dbms_output
set timing on; //設置顯示「已用時間:XXXX」
set autotrace on-; //設置允許對執行的sql進行分析
set verify off //可以關閉和打開提示確認信息old 1和new 1的顯示.
3.運行call.sql 生成數據文件
sqlplus hxadmin/secret as sysdba;
@c:\call.sql
4.初始化環境,創建導入表OBjects
create table OBJECTS
(
OWNER VARCHAR2(50),
OBJECT_NAME VARCHAR2(50),
OBJECT_ID NUMBER,
STATUS VARCHAR2(10),
CREATED DATE
)
5.生成導入控制文件,保存控制文件為ldr_object.ctl
LOAD DATA
INFILE getobject.csv
TRUNCATE INTO TABLE OBJECTS
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
(OWNER,
OBJECT_NAME,
OBJECT_ID,
CREATED date 'yyyy-mm-dd hh24:mi:ss',
STATUS)
6.執行sqlldr命令
C:> sqlldr hxadmin/secret control= ldr_object.ctl direct = true
7.查看ldr_object.log日誌文件
這個例子 是我自己做的 一個100W 行的數據插入也只要10幾秒。希望你能用到。
❷ sql查詢語句如何添加一個統計數據行數
具體看你什麼資料庫了,還有你欄位1,欄位2,欄位3哪個欄位是字元類型的。
比如欄位3是字元類型:
oracle寫法:
SELECT欄位1,欄位2,欄位3FROM列印數據表where列印時間>='2018-09-01'AND列印時間<'2018-09-19'
unionall
selectnull,null,'合計:'||count(*)from列印數據表where列印時間>='2018-09-01'AND列印時間<'2018-09-19'
mysql寫法:
SELECT欄位1,欄位2,欄位3FROM列印數據表where列印時間>='2018-09-01'AND列印時間<'2018-09-19'
unionall
selectnull,null,concat('合計:',(cast(count(*)asvarchar)from列印數據表where列印時間>='2018-09-01'AND列印時間<'2018-09-19'
sqlserver寫法:
SELECT欄位1,欄位2,欄位3FROM列印數據表where列印時間>='2018-09-01'AND列印時間<'2018-09-19'
unionall
selectnull,null,'合計:'+(cast(count(*)asvarchar)from列印數據表where列印時間>='2018-09-01'AND列印時間<'2018-09-19'
❸ 如何在sql中在新建表中插入多行數據
直接通過insert語句多次插入即可。
假如表名是
tablename
insert
into
tablename
values('value1','value2','value3',....);
insert
into
tablename
values('value11','value22','value33',....);
insert
into
tablename
values('value111','value222','value333',....);
備註:上面的參數個數根據實際需要調整即可。
❹ SQL在一個列中插入多行數據
無任何邏輯的數字,這個要看是什麼資料庫,各個資料庫產生隨機數的方法是不一樣的。
另外
「我要在wo那一列中添加三行無任何邏輯的數字 」
這個是用update不是insert
看你的應該是sql server資料庫:sql如下
update Brother set wo=dbo.udf_GetRandomInteger(1,100)