增
insert
into
表名
values(字段)
where
条件
删
delete
表名
where
条件
改
update
表名
set
字段
where
条件
查
select
字段
from
表名
where
条件
mysql数据库的导入,有两种方法:
1)
先导出数据库sql脚本,再导入;
2)
直接拷贝数据库目录和文件。
在不同 *** 作系统或mysql版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。
所以一般推荐用sql脚本形式导入。下面分别介绍两种方法。
2
方法一
sql脚本形式
*** 作步骤如下:
21
导出sql脚本
在原数据库服务器上,可以用phpmyadmin工具,或者mysqldump命令行,导出sql脚本。
211
用phpmyadmin工具
导出选项中,选择导出“结构”和“数据”,不要添加“drop
database”和“drop
table”选项。
选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。
将导出的sql文件保存下来。
212
用mysqldump命令行
命令格式
mysqldump
-u用户名
-p
数据库名
>
数据库名sql
范例:
mysqldump
-uroot
-p
abc
>
abcsql
(导出数据库abc到abcsql文件)
提示输入密码时,输入该数据库用户名的密码。
22
创建空的数据库
通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。
23
将sql脚本导入执行
同样是两种方法,一种用phpmyadmin(mysql数据库管理)工具,或者mysql命令行。
231
用phpmyadmin工具
从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。
在"sql"菜单中,浏览选择刚才导出的sql文件,点击“执行”以上载并执行。
注意:phpmyadmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件
比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。
gzip使用方法:
#
gzip
xxxxxsql
得到
xxxxxsqlgz文件。
提示输入密码时,输入该数据库用户名的密码。
3
直接拷贝
如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。
31
准备原始文件
用tar打包为一个文件
32
创建空数据库
33
解压
在临时目录中解压,如:
cd
/tmp
tar
zxf
mydbtargz
34
拷贝
将解压后的数据库文件拷贝到相关目录
cd
mydb/
cp
/var/lib/mysql/mydb/
对于freebsd:
cp
/var/db/mysql/mydb/
35
权限设置
将拷贝过去的文件的属主改为mysql:mysql,权限改为660
chown
mysql:mysql
/var/lib/mysql/mydb/
chmod
660
/var/lib/mysql/mydb/
mysqldump
-u
用户名
-p
-database
数据库名
>
D:abcsql
mysql
-u
用户名
-p
--database
数据库名
<
D:abcsql
输入命令以后才会提示你输入密码的,输入命令的时候不需要输入密码
在利用数据库开发时,常常会将一些表之间的数据互相导入。当然可以编写程序实现,但是,程序常常需要开发环境,不方便。最方便是利用sql语言直接导入。既方便而修改也简单。以下就是导入的方法。
1、 表结构相同的表,且在同一数据库(如,table1,table2)
Sql :
复制代码代码如下:
insert into table1 select from table2 (完全复制)
insert into table1 select distinct from table2(不复制重复纪录)
insert into table1 select top 5 from table2 (前五条纪录)
2、不在同一数据库中(如,db1 table1,db2 table2)
sql:
[code]
insert into db1table1 select from db2table2 (完全复制)
insert into db1table1 select distinct from db2table2(不复制重复纪录)
insert into tdb1able1 select top 5 from db2table2 (前五条纪录)
3、表结构不同的表或复制部分纪录(如,dn_user,dn_user2)
a 建一个新表[DN_UserTemp](在老表dn_user上增加一列)
复制代码代码如下:
CREATE TABLE [DN_UserTemp] ( [Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL)
[Id] [idtype] NOT NULL ,
[Name] [fntype] NOT NULL ,
[Descript] [dstype] NULL ,
[LogonNm] [idtype] NOT NULL ,
[Password] [idtype] NULL ,
[Gender] [char] (1) NULL ,
[Quited] [booltype] NOT NULL,
[OffDuty] [booltype] NOT NULL ,
[Stopped] [booltype] NOT NULL,
[OSBind] [booltype] NOT NULL,
[Domain] [idtype] NULL ,
[EMail] [fntype] NULL ,
[UnitId] [idtype] NULL ,
[BranchId] [idtype] NULL ,
[DutyId] [idtype] NULL ,
[LevelId] [idtype] NULL ,
[ClassId] [idtype] NULL ,
[TypeId] [idtype] NULL ,
[IP] [varchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,
[ExpireDT] [datetime] NULL ,
[Sort] [int] NOT NULL ,
[AllowDel] [booltype] NOT NULL,
[UnitChief] [booltype] NOT NULL,
[BranchChief] [booltype] NOT NULL ,
[UnitDeputy] [booltype] NOT NULL ,
[BranchDeputy] [booltype] NOT NULL ,
[Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL
) ON [PRIMARY]
b 将dn_uer2的数据拷入dn_usertemp
sql:insert into dn_usertemp select from dn_user2
c将dn_usertemp 拷入dn_user
sql:
复制代码代码如下:
declare @i int
declare @j int
declare @Name fntype
set @i=1
select @j=count() from dn_usertemp
while @i<@j 1
begin
select @Name=Name from dn_usertemp where Num=@i
print @Name
insert into dn_user (Name) values (@Name) where Num=@i
select @i=@i 1
end
MySql数据库复制表数据
将 production 数据库中的 mytbl 表快速复制为 mytbl_new,2个命令如下:
复制代码代码如下:
CREATE TABLE mytbl_new LIKE productionmytbl;
INSERT mytbl_new SELECT FROM productionmytbl;
第一个命令是创建新的数据表 mytbl_new ,并复制 mytbl 的数据表结构。
第二个命令是讲数据表 mytbl 中的数据复制到新表 mytbl_new 。
注:productionmytbl是指定要复制表的数据库名称为 production 。它是可选的。
假如没有production ,MySQL数据库将会假设mytbl在当前 *** 作的数据库。
另外:在mysql数据库中复制数据为:
复制代码代码如下:
select into desTable from sourceTable在mssql中支持,在mysql中不支持
insert into desTable select from sourceTable
以上就是关于SQL数据库常用命令(SQL数据库命令大全)全部的内容,包括:SQL数据库常用命令(SQL数据库命令大全)、mysql数据库命令、mysql怎么把一个数据库的表复制到另外一个数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)