A. plsql 命令窗口怎么执行文件
1、首先在电脑中,找到并登录PLSQL,如下图所示。
B. 读取sql文件并写入到数据库,用SQL语句。
mysql导入导出常用命令
用mysql数据库最常用的功能便是导入导出了,当然用工具比较方便,不过,用命令你也是应该了解的。
以下实例在windows下的。
一、备份数据库:(命令在DOS的mysql\bin目录下执行,linux下当然不用到指定目录了)
mysqlmp --opt school>school.bbb
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
1.导出整个数据库
mysqlmp -u 用户名 -p 数据库名 > 导出的文件名
mysqlmp -u root -p aikersql> aiker.sql
2.导出一个表
mysqlmp -u 用户名 -p 数据库名 表名> 导出的文件名
mysqlmp -u aiker -p aikersql users> aiker_users.sql
3.导出一个数据库结构
mysqlmp -u root -p -d --add-drop-table
aikersql>d:\aiker_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
二.导入数据库
常用source 命令
进入mysql数据库控制台,如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:\aiker_db.sql
也可以用 mysql -uroot -Ddb1 <d:\aiker_db.sql
C. 简道云如何读取本地sql数据库的数据
步骤如下;
1、导入.sql文件命令:mysql>USE数据库名;mysql>sourced:/mysql.sql;
2、建立数据库:mysql>CREATEDATABASE库名;
3、建立数据表:mysql>USE库名;mysql>CREATETABLE表名(字段名VARCHAR(20),字段名CHAR(1));
4、删除数据库:mysql>DROPDATABASE库名;
5、删除数据表:mysql>DROPTABLE表名;
6、将表中记录清空:mysql>DELETEFROM表名;
7、往表中插入记录:mysql>INSERTINTO表名VALUES("hyq","M");
8、更新表中数据:mysql->UPDATE表名SET字段名1='a',字段名2='b'WHERE字段名3='c';
9、用文本方式将数据装入数据表中:mysql>loaddatalocalinfile"d:/mysql.txt"intotable表名.
D. 如何用sql语句将一个文件夹下的所有txt文件导入到数据库中急!在线等
使用场景:
比如将
C:\Test\
目录下的所有
txt文件内容
导入到
Table_1
中
--定义临时表,用于存放获取的文件名称
CREATE
TABLE
#files
(name
varchar(200)
NULL,
sql
varchar(7000)
NULL)
--获取文件名称,存放在#files
INSERT
#files(name)
exec
master..xp_cmdshell
'dir
c:\test
/b'
--删除不要的文件名称
DELETE
#files
WHERE
coalesce(name,
'')
NOT
LIKE
'Code%'
--插入需要
导入文件内容的
命令SQL,需要修改
Table_1(改为导入的Table)和文件路径
UPDATE
#files
SET
sql
=
'BULK
INSERT
Table_1
FROM
'''
+
'C:\Test\'+name
+
'''
WITH
('
+
'DATAFILETYPE
=
''char'',
FIELDTERMINATOR
=
''\t'',
'
+
'ROWTERMINATOR
=
''\n'')'
--开始执行导入
DECLARE
@sql
varchar(8000)
DECLARE
cur
CURSOR
STATIC
LOCAL
FOR
SELECT
sql
FROM
#files
OPEN
cur
WHILE
1
=
1
BEGIN
FETCH
cur
INTO
@sql
IF
@@fetch_status
<>
0
BREAK
EXEC(@sql)
END
DEALLOCATE
cur
主要分为读取文件夹下所有文件和导入文件内容两部分
--读取文件夹下所有文件
declare
@files
table
(ID
int
IDENTITY,
FileName
varchar(100))
insert
into
@files
execute
xp_cmdshell
'dir
c:\test
/b'
select
'c:\'+
[FileName]
AS
FILEPATH
INTO
#temp
from
@files
SELECT
*
FROM
#temp
--导入文件内容
BULK
INSERT
dbo.Table_1
FROM
#temp
WITH
(
ROWTERMINATOR
='\n'
)
还需要开启
/*****
Step
1
开启
xp_cmdshell
Use
Master
GO
EXEC
master.dbo.sp_configure
'show
advanced
options',
1
RECONFIGURE
WITH
OVERRIDE
GO
EXEC
master.dbo.sp_configure
'xp_cmdshell',
1
RECONFIGURE
WITH
OVERRIDE
GO
*******/
参考:
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/47c8edc1-8cad-4a24-a09a-3fc0c943325c/bulk-insert-multiple-files-tsql
E. linux系统如何查看.sql文件内容
第一种方法:
在命令行下(未连接数据库),输入 mysql -h localhost -u root -p123456 < F:hello world
iuzi.sql (注意路径不用加引号的!!) 回车即可.
第二种方法:
在命令行下(已连接数据库,此时的提示符为 mysql> ),输入 source F:hello world
iuzi.sql (注意路径不用加引号的)
或者 . F:hello world
iuzi.sql (注意路径不用加引号的) 回车即可.Linux命令了解下,如下图:
F. SQL读取txt内容
SQL Server 里面有一个命令可以直接将文本文件导入到数据库中
可以设置分割的字符
如下:
BULK INSERT
以用户指定的格式复制一个数据文件至数据库表或视图中。
语法
BULK INSERT [ [ 'database_name'.][ 'owner' ].]{ 'table_name' FROM 'data_file' }
[ WITH
(
[ BATCHSIZE [ = batch_size ] ]
[ [ , ] CHECK_CONSTRAINTS ]
[ [ , ] CODEPAGE [ = 'ACP' | 'OEM' | 'RAW' | 'code_page' ] ]
[ [ , ] DATAFILETYPE [ =
{ 'char' | 'native'| 'widechar' | 'widenative' } ] ]
[ [ , ] FIELDTERMINATOR [ = 'field_terminator' ] ]
[ [ , ] FIRSTROW [ = first_row ] ]
[ [ , ] FIRE_TRIGGERS ]
[ [ , ] FORMATFILE = 'format_file_path' ]
[ [ , ] KEEPIDENTITY ]
[ [ , ] KEEPNULLS ]
[ [ , ] KILOBYTES_PER_BATCH [ = kilobytes_per_batch ] ]
[ [ , ] LASTROW [ = last_row ] ]
[ [ , ] MAXERRORS [ = max_errors ] ]
[ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ]
[ [ , ] ROWS_PER_BATCH [ = rows_per_batch ] ]
[ [ , ] ROWTERMINATOR [ = 'row_terminator' ] ]
[ , [ TABLOCK ] ]
)
]
参数
'database_name'
是包含指定表或视图的数据库的名称。如果未指定,则系统默认为当前数据库。
'owner'
是表或视图所有者的名称。当执行大容量复制操作的用户拥有指定的表或视图时,owner 是可选项。如果没有指定 owner 并且执行大容量复制操作的用户不拥有指定的表或视图,则 Microsoft® SQL Server™ 将返回错误信息并取消大容量复制操作。
'table_name'
是大容量复制数据于其中的表或视图的名称。只能使用那些所有的列引用相同基表所在的视图。有关向视图中复制数据的限制的更多信息,请参见 INSERT。
'data_file'
是数据文件的完整路径,该数据文件包含要复制到指定表或视图的数据。BULK INSERT 从磁盘复制数据(包括网络、软盘、硬盘等)。
data_file 必须从运行 SQL Server 的服务器指定有效路径。如果 data_file 是远程文件,则请指定通用命名规则 (UNC) 名称。
BATCHSIZE [ = batch_size ]
指定批处理中的行数。每个批处理作为一个事务复制至服务器。SQL Server提交或回滚(在失败时)每个批处理的事务。默认情况下,指定数据文件中的所有数据是一个批处理。
CHECK_CONSTRAINTS
指定在大容量复制操作中检查 table_name 的任何约束。默认情况下,将会忽略约束。
CODEPAGE [ = 'ACP' | 'OEM' | 'RAW' | 'code_page' ]
指定该数据文件中数据的代码页。仅当数据含有字符值大于 127 或小于 32 的 char、varchar 或 text 列时,CODEPAGE 才是适用的。
CODEPAGE 值 描述
ACP char、varchar 或 text 数据类型的列从 ANSI/Microsoft Windows® 代码页 ISO 1252 转换为 SQL Server 代码页。
OEM(默认值) char、varchar 或 text 数据类型的列被从系统 OEM 代码页转换为 SQL Server 代码页。
RAW 并不进行从一个代码页到另一个代码页的转换;这是最快的选项。
code_page 特定的代码页号码,例如 850。
DATAFILETYPE [ = {'char' | 'native' | 'widechar' | 'widenative' } ]
指定 BULK INSERT 使用指定的默认值执行复制操作。
DATAFILETYPE 值 描述
char(默认值) 从含有字符数据的数据文件执行大容量复制操作。
native 使用 native(数据库)数据类型执行大容量复制操作。要装载的数据文件由大容量复制数据创建,该复制是用 bcp 实用工具从 SQL Server 进行的。
widechar 从含有 Unicode 字符的数据文件中执行大容量复制操作。
widenative 执行与 native 相同的大容量复制操作,不同之处是 char、varchar 和 text 列在数据文件中存储为 Unicode。要装载的数据文件由大容量复制数据创建,该复制是用 bcp 实用工具从 SQL Server 进行的。该选项是对 widechar 选项的一个更高性能的替代,并且它用于使用数据文件从一个运行 SQL Server 的计算机向另一个计算机传送数据。当传送含有 ANSI 扩展字符的数据时,使用该选项以便利用 native 模式的性能。
FIELDTERMINATOR [ = 'field_terminator' ]
指定用于 char 和 widechar 数据文件的字段终止符。默认的字段终止符是 /t(制表符)。
FIRSTROW [ = first_row ]
指定要复制的第一行的行号。默认值是 1,表示在指定数据文件的第一行。
FIRE_TRIGGERS
指定目的表中定义的任何插入触发器将在大容量复制操作过程中执行。如果没有指定 FIRE_TRIGGERS,将不执行任何插入触发器。
FORMATFILE [ = 'format_file_path' ]
指定一个格式文件的完整路径。格式文件描述了含有存储响应的数据文件,这些存储响应是使用 bcp 实用工具在相同的表或视图中创建的。格式文件应该用于以下情况:
数据文件含有比表或视图更多或更少的列。
列使用不同的顺序。
列分割符发生变化。
数据格式有其它的改变。通常,格式文件通过 bcp 实用工具创建并且根据需要用文本编辑器修改。有关更多信息,请参见 bcp 实用工具。
KEEPIDENTITY
指定标识列的值存在于导入文件中。如果没有指定 KEEPIDENTITY,在导入的数据文件中此列的标识值将被忽略,并且 SQL Server 将根据表创建时指定的种子值和增量值自动赋给一个唯一的值。假如数据文件不含该表或视图中的标识列,使用一个格式文件来指定在导入数据时,表或视图中的标识列应被忽略;SQL Server 自动为此列赋予唯一的值。有关详细信息,请参见 DBCC CHECKIDENT。
KEEPNULLS
指定在大容量复制操作中空列应保留一个空值,而不是对插入的列赋予默认值。
KILOBYTES_PER_BATCH [ = kilobytes_per_batch ]
指定每个批处理中数据的近似千字节数(KB)。默认情况下,KILOBYTES_PER_BATCH 未知。
LASTROW [ = last_row ]
指定要复制的最后一行的行号。默认值是 0,表示指定数据文件中的最后一行。
MAXERRORS [ = max_errors ]
指定在大容量复制操作取消之前可能产生的错误的最大数目。不能被大容量复制操作导入的每一行将被忽略并且被计为一次错误。如果没有指定 max_errors,默认值为 0。
ORDER ( { column [ ASC | DESC ] } [ ,...n ] )
指定数据文件中的数据如何排序。如果装载的数据根据表中的聚集索引进行排序,则可以提高大容量复制操作的性能。如果数据文件基于不同的顺序排序,或表中没有聚集索引,ORDER 子句将被忽略。给出的列名必须是目的表中有效的列。默认情况下,大容量插入操作假设数据文件未排序。
n
是表示可以指定多列的占位符。
ROWS_PER_BATCH [ = rows_per_batch ]
指定每一批处理数据的行数(即 rows_per_bacth)。当没有指定 BATCHSIZE 时使用,导致整个数据文件作为单个事务发送给服务器。服务器根据 rows_per_batch 优化大容量装载。默认情况下,ROWS_PER_BATCH 未知。
ROWTERMINATOR [ = 'row_terminator' ]
指定对于 char 和 widechar 数据文件要使用的行终止符。默认值是 /n(换行符)。
TABLOCK
指定对于大容量复制操作期间获取一个表级锁。如果表没有索引并且指定了 TABLOCK,则该表可以同时由多个客户端装载。默认情况下,锁定行为是由表选项 table lock on bulk load 决定的。只在大容量复制操作期间控制锁会减少表上的锁争夺,极大地提高性能。
注释
BULK INSERT 语句能在用户定义事务中执行。对于一个用 BULK INSERT 语句和 BATCHSIZE 子句将数据装载到使用多个批处理的表或视图中的用户定义事务来说,回滚它将回滚所有发送给 SQL Server 的批处理。
权限
只有 sysadmin 和 bulkadmin 固定服务器角色成员才能执行 BULK INSERT。
示例
本例从指定的数据文件中导入订单详细信息,该文件使用竖杠 (|) 字符作为字段终止符,使用 |/n 作为行终止符。
BULK INSERT Northwind.dbo.[Order Details]
FROM 'f:/orders/lineitem.tbl'
WITH
(
FIELDTERMINATOR = '|',
ROWTERMINATOR = '|/n'
)
本例指定 FIRE_TRIGGERS 参数。
BULK INSERT Northwind.dbo.[Order Details]
FROM 'f:/orders/lineitem.tbl'
WITH
(
FIELDTERMINATOR = '|',
ROWTERMINATOR = ':/n',
FIRE_TRIGGERS
G. 让SQL自动读取TXT数据,并处理
1、打开企业管理器,在“数据转换服务”上点右键
2、选择“所有任务”--“导入数据”,点“下一步”
3、数据源选择文本文件,文件名选择你要导入的TXT文件,点下一步
4、选择“带分隔符。各列之间可用任何字符分割”,点下一步
5、选择分隔符,点下一步
6、选择目的表,点下一步
7、选择“保存DTS包”,点下一步
8、保存
1、打开企业管理器,管理,作业,新建作业
2、常规选项卡
3、步骤选项卡,类型选择操作系统命令,命令里填写:
DTSRun /S /E /N "新建包"
4、调度选项卡,选择调度周期
H. 如何用sql 语句获取磁盘上指定文件夹下的所有文件,并把检索到的文件转移到另一个文件夹下
检索文件夹里面的文件和文件夹,不包含自文件夹里的内容:master..xp_dirtree 'c:/',1,1
如果说要复制或者转移,可能要用cmd命令,在SQL中执行,如:
exec master..xp_cmdshell @cmd
其中@cmd就是你的cmd命令,你可以在这里写一个FileCopy的命令代码,
比如
set @cmd='x c:\windows\myfolder d:\file /e'
exec master..xp_cmdshell @cmd
更多的cmd命令,你再查吧
I. 如何用 sql 命令读取文件
以下是orcale的方法,其他数据库也类似。
1.写控制文件格式如下(下面是我自己的,你把表名该成你自己的表,字段该成你的字段就可以了):
OPTIONS
(skip=0,rows=128)
load
data
INFILE
"user_user_test.txt"
into
table
USER_USER_TEST
truncate
fields
terminated
by
','
optionally
enclosed
by
'"'
(
USERID,
CITYID,
USERNAME,
PWD,
CREATETIME
)
2.把控制文件和数据文件放在同一个目录(建议)
3.执行sqlldr
userid=scott/anwei@orcl
control=user_user_test.ctl
data=user_user_test.txt
log=user_user_test.log
命令
J. 如何通过SQL命令查看数据库的文件大小
要查的表名')
获取数据库表名和字段
sqlserver中各个系统表的作用
sysaltfiles 主数据库 保存数据库的文件
syscharsets 主数据库 字符集与排序顺序
sysconfigures 主数据库 配置选项
syscurconfigs 主数据库 当前配置选项
sysdatabases 主数据库 服务器中的数据库
syslanguages 主数据库 语言
syslogins 主数据库 登陆帐号信息
sysoledbusers 主数据库 链接服务器登陆信息
sysprocesses 主数据库 进程
sysremotelogins主数据库 远程登录帐号
syscolumns 每个数据库 列
sysconstrains 每个数据库 限制
sysfilegroups 每个数据库 文件组
sysfiles 每个数据库 文件
sysforeignkeys 每个数据库 外部关键字
sysindexs 每个数据库 索引
sysmenbers 每个数据库 角色成员
sysobjects 每个数据库 所有数据库对象
syspermissions 每个数据库 权限
systypes 每个数据库 用户定义数据类型
select 列名=name from syscolumns where id=object_id(N'表名'
--读取指定表的所有列名
select name from syscolumns where id=(select max(id) from sysobjects where xtype=' and name='u'u'--读取库中的所有表名
select name from sysobjects where xtype='