菜单

数据库操作

2019年11月18日 - 计算机数据

(一)将旧表复制到新表

本文给大家分享了好几种复制表结构、表数据的示例介绍,具体详情请看下文吧。

CREATE TABLE EMP1 AS SELECT * FROM EMP WHERE EMPNO=1

1、CREATE
TABLE新表
SELECT*
FROM旧表;

1、复制表结构及数据到新表

SELECT * INTO NEW_TABLE FROM EMP WHERE EMPNO=1   (IF NEW_TABLE IS EXIST ) 

该语句只是复制表结构以及数据,它不会复制与表关联的其他数据库对象,如索引,主键约束,外键约束,触发器等。

CREATE TABLE 新表SELECT * FROM 旧表

 

 

这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from
newtable;来删除。

1.create database name; //创建数据库 (create 内部命令)

  1. CREATE TABLE if not exists new_table

  2. SELECT col1, col2, col3

  3. FROM

  4. existing_table

  5. WHERE

  6. conditions;

不过这种方法的一个最不好的地方就是新表中没有了旧表的primary
key、Extra(auto_increment)等属性。需要自己用”alter”添加,而且容易搞错。

  mysql>create  database  ;

2、MySQL 数据库不支持 SELECT … INTO
语句,但支持 INSERT INTO …
SELECT 

2、只复制表结构到新表

2.use databasename; //选择数据库 (use内部命令)

其中在使用select
 into 语句与insert into select
语句时,新表要提前建立,并且新表与旧表的字段属性要一样才可以。

CREATE TABLE 新表SELECT * FROM 旧表WHERE 1=2

  mysql>use  ;

create
table 新表 like 旧表;

或CREATE TABLE 新表LIKE 旧表

3.drop database name; //直接删除数据库,不提醒 (drop内部命令)

新表建立之后才可以使用下面的两个语句:

3、复制旧表的数据到新表(假设两个表结构一样)

  mysql>drop  database  ;

SELECT * INTO 新表   FROM  旧表;

INSERT INTO 新表SELECT * FROM 旧表

4.drop table name; // 直接删除表

INSERT INTO  新表  SELECT * FROM  旧表;

4、复制旧表的数据到新表(假设两个表结构不一样)

  mysql>drop  table  ;

只复制希望的列插入到另一个已存在的表中:

INSERT INTO 新表(字段1,字段2,…….) SELECT 字段1,字段2,…… FROM
旧表

5.create table name; //创建表

INSERT INTO  新表  (column_name(s))
 SELECT   column_name(s)  FROM  旧表;

5、可以将表1结构复制到表2

  mysql>create  table  ;

实例:INSERT INTO Websites (name,
country) SELECT
app_name, country FROM
apps;

SELECT * INTO 表2 FROM 表1 WHERE 1=2

      **前提是先mysql>use;

 

6、可以将表1内容全部复制到表2

6.show databases;//显示所有数据库

(二)复制相同表结构

SELECT * INTO 表2 FROM 表1

  mysql>show  databases;

 

7、 show create table 旧表;

7.show tables; //显示数据库中的表 (show内部命令)

对于mysql的复制相同表结构方法,有create
table as 和create table like 两种

这样会将旧表的创建命令列出。我们只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表

  mysql>show  tables;

create table 新表 like
旧表;

8、mysqldump

      **提前是先mysql>use;

create table 新表 as select
* from 旧表 limit 0;

用mysqldump将表dump出来,改名字后再导回去或者直接在命令行中运行

8.describe tablename; //显示表的详细描述

二者的区别:

9、复制旧数据库到新数据库(复制全部表结构并且复制全部表数据)

  mysql>describe ;

 

#mysql -u root -ppassword
>CREATE DATABASE new_db;
#mysqldump old_db -u root -ppassword–skip-extended-insert
–add-drop-table | mysql new_db -u root -ppassword

9.select version(),current_date; //显示当前mysql版本和当前日期

as用来创建相同表结构并复制源表数据

10、表不在同一数据库中(如,db1 table1, db2 table2)
sql: insert into db1.table1 select * from db2.table2 (完全复制)
insert into db1.table1 select distinct * from
db2.table2(不复制重复纪录)
insert into tdb1.able1 select top 5 * from db2.table2
(前五条纪录)以上内容就是本文的全部叙述,希望大家喜欢。

  mysql>select  version(), current_date;

like用来创建完整表结构和全部索引

您可能感兴趣的文章:

  mysql>select  version(),

oracle支持as,也是只有表结构没有索引
oracle不支持like。

      ->current_date;

(三)MySQL复制表到另一个数据库

  **select 内部命令 

访问不同数据库中的表:数据库名.表名 ,采用点
的形式。

10.mysql>flush privileges ; //刷新数据库

有时,您要将表复制到其他数据库。 在这种情况下,可使用以下语句:

11.mysql实现修改用户密码:

  1. CREATE TABLE destination_db.new_table

  2. LIKE source_db.existing_table;

  3.  

  4. INSERT destination_db.new_table

  5. SELECT *

  6. FROM source_db.existing_table;

 11.1 update //修改

SQL

       shell>mysql -u root -p

具体流程:

     mysql> update mysql.user set password=PASSWORD(’新密码’) where
User=’root’;

  1. CREATE DATABASE IF NOT EXISTS testdb;

     mysql> flush privileges;

SQL

     mysql> quit

其次,通过将其结构从示例数据库(yiibaidb)中的offices表复制出来,在testdb中创建了offices表。

 11.2 mysqladmin//修改用户密码

  1. CREATE TABLE testdb.offices LIKE yiibaidb.offices;

     shell>mysqladmin -u root password new_password

SQL

 11.3 自己测试未通过

第三,我们将数据从yiibaidb.offices表复制到testdb.offices表中。

     shell>mysql -u root -p

  1. INSERT testdb.offices

  2. SELECT *

  3. FROM yiibaidb.offices;

    mysql>SET PASSWORD FOR root=PASSWORD(“root”);

 

12.创建帐号

(四)MySQL数据库导入导出

  mysql> grant all(delete,updatae,create,drop,insert) privileges on
*.* to @localhost identified  by  ;

1、使用mysqldump工具将数据库导出并转储到sql文件:mysqldump -u 用户名 -p 数据库名 > 导出的文件名  mysqldump -h IP -u 用户名 -p 数据库名 > 导出的文件名

2 :(导出某张表的表结构不含数据)
mysqldump -h localhost -u root -p -d test pollution >
G:arcgisworkspacezypdoctest.sql
3:(导出某张表的表结构和数据,不加-d)
mysqldump -h 127.0.0.1 -u root -p test pollution >
G:arcgisworkspacezypdoctest.sql
mysqldump-u
root -p yiibaidb >d:database_bakyiibaidb.sql
其中>表示导出。
2、导入sql文件
在MySQL中新建数据库,这时是空数据库,如新建一个名为news的目标数据库
create database if not exists news;
use news;
导入文件:
source 路径+导入的文件名; 
source d:mysql.sql;

 

要复制一个MySQL数据库,您需要执行以下步骤:

作为一个演示,假设要把yiibaidb数据库复制到yiibaidb_backup数据库:

步骤1, 创建yiibaidb_backup数据库:

首先,登录到MySQL数据库服务器:

C:UsersAdministrator> mysql -u root -p
Enter password: **********

Shell

然后,使用CREATE DATABASE语句如下:

  1. CREATE DATABASE yiibaidb_backup;

SQL

第三,使用SHOW
DATABASES命令验证:

  1. SHOW DATABASES

SQL

 

步骤2

 

使用mysqldump工具将数据库对象和数据转储到SQL文件中。

假设要将数据库对象和数据库转储到位于D:database_bak文件夹的SQL文件中,这里是以下命令:

  1. C:UsersAdministrator> mysqldump -u root -p yiibaidb > d:database_bakyiibaidb.sql

  2. Enter password: **********

SQL

基本上,此命令指示mysqldump使用具有密码的root用户帐户登录到MySQL服务器,并将数据库对象和yiibaidb数据库的数据导出到d:database_bakyiibaidb.sql
请注意,运算符(>)表示导出。

步骤2

d:database_bakyiibaidb.sql文件导入到yiibaidb_backup数据库。

C:UsersAdministrator> mysql -u root -p yiibaidb_backup < d:database_bakyiibaidb.sql
Enter password: **********

Shell

请注意,运算符(<)表示导入。

要验证导入,可以使用SHOW TABLES命令快速检查。

mysql> SHOW TABLES FROM yiibaidb_backup;

13.重命名表:

 

  mysql > alter table   rename  ; //把表t1重命名为t2

14.备份数据库

 14.1 导出整个数据库

          mysqldump -u 用户名 -p 数据库名 > 导出的文件名

        mysqldump -u root -p asb >d:asb.sql

 

 14.2 导出一个表

    mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u root -p asb yg>d:yg.sql

 

 14.3 导出一个数据库结构

mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc
>d:wcnc_db.sql

// (-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table)

  mysqldump mysqladmin外部命令

 

 14.4 导入数据库

  /*用source 命令

  */进入mysql数据库控制台,先建立数据库,use数据库

  mysql -u root -p

  mysql>create  ;

  mysql>use

  mydql>source d:.sql;

 

 14.5 导入表

 // 进入数据库,执行导入操作

      mysql>use;

      mysql>source d:.sql;

15.将表中记录清空:

  mysql>delete  from ;

15.1将表中记录清空:

  mysql>Truncate  tablename;

16.显示表中的记录:

  mysql>select  *  from ;

17.一个建库和建表以及插入数据的实例

  Drop  database  if  exists  school;  //如果存在SCHOOL则删除

  create  database  school;  //建立库SCHOOL

  use  school;  //打开库SCHOOL

  create  table  teacher  //建立表TEACHER

  (

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图