mysql 数据库复制表

create table test2 select * from test where 1=2
-- 只复制表结构

INSERT INTO test2 SELECT * FROM test;
-- 上面的表必须存在

-- 复制整张表的数据
create table test2 select * from test

-- create database  xxx   charset-- create  table   xxx  (id int,xxxxxx)-- drop   table-- drop   database-- alter table   add/drop/modify/change-- create user--  drop  user

select id,name from test limit 1,3;  --- 显示第一行之后的三行
用户管理

----

定义 :  用户名+主机域

功能:连接数据库、管理数据库对象

连接数据库:
1、定义用户:用户名+主机域, 密码
2、定义权限:对不同的对象进行权限(角色)定义

grant   权限     on   权限范围(对象)    to   用户  identified by ‘‘;
show grants for [email protected]‘10.0.0.%‘;

权限(角色):
select
update
delete
insert
drop
create

ALL
replication slave

权限范围:
*.*  所有数据库对象
oldboy.*   oldboy单库下所有对象
oldboy.test  单表级别

用户:
repl@localhost
[email protected]‘10.0.0.53‘
[email protected]‘10.0.0.%‘
[email protected]‘10.0.0.5%‘
-----
要求:
1、用户只能通过10网段访问,用户名为oldboy,密码为123
2、只能对oldboy数据库下的对象进行增insert create、改update、查select

grant select,insert,update,create on oldboy.* to [email protected]‘10.0.0.%‘ identified by ‘123‘;

drop user [email protected]‘10.0.0.%‘

----------------
skip-grant-tables   启动过程中跳过授权表。

/application/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking  &

在这中模式启动情况下:

无密码登录
网络用户无法登陆
只能本地登录

和授权有关的命令都不能执行了
grant
revoke
drop user
create user

use mysql
update user set password=PASSWORD(‘123456‘)  where user=‘sys‘ and host=‘localhost‘
flush privileges;

5.7  无password   需要修改:authentication_string
use mysql
update user set authentication_string=PASSWORD(‘123456‘)  where user=‘sys‘ and host=‘localhost‘
flush privileges;
-----------------

SQL 是用户用来管理、控制数据库的专用语言

SQL入门

mysql
    1、mysql客户端接口自带功能
        1、\h 或 help 或 ?                 获取帮助
        2、\G                           格式化输出(行转列)
        3、\T 或 tee                    记录操作日志  tee /tmp/mysql.log
        4、\c 或 CTRL+c                    退出mysql
        5、\s 或 status                    查看数据库状态信息
        6、\. 或 source                    mysql> source /tmp/world.sql
        7、\u 或use                        use  world
                                        show databases  看当前所有数据库的名字
                                        show tables   查看当前use到的数据库所有的表
                                        show  tables from world   查看目标数据库下的表
        8、快捷键
            上下翻页
            TAB
            ctrl +C
            ctrl +L

    2、SQL
        DDL:
            数据定义语言
                定义范围:
                    库 :名字、特性
                    表:表名字、列
            DDL语句:
            create database oldboy
            create table  test (id  int)    

            创建库:
            CREATE DATABASE db_name CHARACTER SET      charset_name  COLLATE     collation_name
            例子
            mysql> create database oldboy charset utf8 ;
            mysql> show create database oldboy;     查询数据库定义信息。

            修改库:
            ALTER DATABASE [db_name] CHARACTER SET  charset_name COLLATE collation_name
            例子:
            mysql> alter database oldboy charset gbk;

            删除库:
            drop database oldboy;

            show character set;#找字符集和校对规则.

            表定义(列):
            表名
            列名
            列属性(数据类型、列约束)

            创建表:
            create table test(id int);
            create table t1(idcard int ,name char(30),sex char(4));
            修改表定义:
                修改表名:
            rename table t1 to test1;
            alter table test1 rename to people;
                修改表结构:
            alter table people  add addr char(40) NOT NULL;
                指定添加年龄列到name列后面的位置,示例如下:
            alter table people add age int(4) after name;
                通过下面的命令在第一列添加qq字段。
            alter table test add telnum  int  first;
                同时添加多个列定义:
            alter table people add id int first ,add sex char(4) after name ;
                删除表结构:
            alter table people  drop  sex;
                修改表定义
            alter table people modify name char(20);
                修改列名:
            alter table people change name people_name char(30) ;
---------------------------
总结DDL:
create database  xxx   charset
create  table   xxx  (id int,xxxxxx)
drop   table
drop   database
alter table   add/drop/modify/change
create user
drop  user
----------------------------
DCL:数据库控制语言
grant
revoke
-----------------------
DML:
数据操纵语言:针对数据行的操作

insert语句:
create table oldboy (id int,name varchar(20));
insert into oldboy values(1,‘oldboy‘);
insert into oldboy values(2,‘yougboy‘),(3,‘youggilr‘);
select * from oldboy;
insert into oldboy(name) values(‘xiaoming‘);

INSERT INTO `test` VALUES (1,‘oldboy‘),(2,‘oldgirl‘),(3,‘inca‘),(4,‘zuma‘),(5,‘kaka‘);

------------------------------------
create table test like oldboy;
insert into oldboy select * from oldboy;

==========================

create table test2 select * from test where 1=2

------------------------------------
update(一定要有where条件)
update test set name=‘oldboy1‘ WHERE  id = 1;

delete(一定要有where条件)
delete from oldboy where id=1;
INSERT INTO `test` VALUES (1,‘oldboy‘),(2,‘oldgirl‘),(3,‘inca‘),(4,‘zuma‘),(5,‘kaka‘);

生产中的伪删除

alter table test add  state tinyint(2) not null default 1;
update test set state=1;
正常显示:
select * from test where id=1;
update test set state=0 where name=‘oldboy‘;
mysql> select * from test where state=1;
+----+---------+-------+
| id | name    | state |
+----+---------+-------+
|  2 | oldgirl |     1 |
|  3 | inca    |     1 |
|  4 | zuma    |     1 |
|  5 | kaka    |     1 |

mysql> select * from test;
+----+---------+-------+
| id | name    | state |
+----+---------+-------+
|  1 | oldboy  |     0 |
|  2 | oldgirl |     1 |
|  3 | inca    |     1 |
|  4 | zuma    |     1 |

--------------------------------
DQL:

select  from

select user,password ,host from mysql.user where user=‘sys‘;
select user,password ,host from mysql.user where user like ‘sy%‘;

select * from oldboy.test;
select id,name from oldboy.test;
select id,name from test where id=2;
select id,name from test where name=‘oldgirl‘;
select id,name from test where id>2;
select id,name from test where id>2 and id<4;
select id,name from test where id>2 or id<4;
select id,name from test;
select id,name from test order by id asc;
select id,name from test order by id desc;
select id,name from test limit 1,3;
#第一行之后取三行

select database();

select user();
时间: 2024-10-15 15:17:06

mysql 数据库复制表的相关文章

跨数据库复制表

情况: 1.需要从另一台机子上拷贝一张表过来 2.本机未安装SQL,只有VS2013自带简化版的SQL 过程: 1.在项目中创建数据库文件:右键项目----添加----添加新项---基于服务的数据库 2.选择目标表:右键----打开表定义,复制创建表的SQL语句 3.在本机创建的数据库中,运行复制的SQL语句,创建表 4.运行下面语句,进行本机数据库配置 exec sp_configure 'show advanced options',1 reconfigure exec sp_configu

MySQL数据库之-foreign key 外键(一对多、多对多、一对一)、修改表、复制表

今日重点:外键 一对多 多对多      一对一 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 一.引言: 我们在同一数据库创建的表时候,很多时候会出现相同数据的冗余问题,也就是说几个id

MySQL 复制表

MySQL 复制表 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的. 本文将为大家介绍如何完整的复制MySQL数据表,步骤如下: 使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等. 复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构. 如果你想复制表的内容,你就可

雷林鹏分享:MySQL 复制表

MySQL 复制表 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的. 本章节将为大家介绍如何完整的复制MySQL数据表,步骤如下: 使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等. 复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构. 如果你想复制表的内容,你就

MySQL 复制表:如何准确无误的创建复制表?

MySQL 复制表 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的. 本章节将为大家介绍如何完整的复制MySQL数据表,步骤如下: 使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等. 复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构. 如果你想复制表的内容,你就

用Python获取沪深两市上市公司股票信息,提取创近10天股价新高的、停牌的、复牌不超过一天或者新发行的股票,并存入mysql数据库

1 #该脚本可以提取沪深两市上市公司股票信息,并按以下信息分类:(1)当天股价创近10个交易日新高的股票:(2)停牌的股票:(3)复牌不超过一个交易日或者新发行的股票 2 #将分类后的股票及其信息(股价新高.当前状态等)存入mysql数据库 3 from time import * 4 import pandas as pd 5 import tushare as ts 6 from datetime import date 7 import datetime 8 import MySQLdb

数据库操作,复制表

整理自:http://blog.51yip.com/mysql/1311.html 显示创建表的信息: 1 USE world; 2 SHOW CREATE TABLE city; 显示表结构信息: 1 CREATE TABLE `city` ( 2 `ID` int(11) NOT NULL AUTO_INCREMENT, 3 `Name` char(35) NOT NULL DEFAULT '', 4 `CountryCode` char(3) NOT NULL DEFAULT '', 5

6)-MySQL复制表

具有SELECT子句的MySQL INSERT 在MySQL中,可以使用SELECT语句返回的列和值来填充INSERT语句的值. 此功能非常方便,因为您可以使用INSERT和SELECT子句完全或部分复制表,如下所示: insert into table_1 select c1, c2, from table_2; 假设要将tasks表复制到tasks_bak表. 首先,通过复制tasks表的结构,创建一个名为tasks_bak的新表,如下所示: create table tasks_bak l

常用的Mysql数据库操作语句大全

零.用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PASSWORD('fdddfd'); 3.权限管理 >SHOW GRANTS FOR name;    //查看name用户权限 >GRANT SELECT ON db_name.* TO name; //给name用户db_name数据库的所有权限 >REVOKE SELECT ON db_n