澳门新蒲京娱乐

澳门新蒲京娱乐 13
STL与泛型编程,forward_list查找插入数据方法示例澳门新蒲京娱乐:
图片 2
在独立的Root和Home硬盘驱动器上安装Ubuntu,安装过程全攻略

shell操作mysql数据库深入解析

复制代码 代码如下:

在shell开发中,繁多时候大家须要操作mysql数据库(比方:查询数据、导出数据等),不过大家又不能够进去mysql命令行的条件,就要求在shell景况中效仿mysql的情形,使用mysql相关命令,本文化总同盟结三种shell操作mysql的方法,供我们参照他事他说加以考察。

优点:援助复杂的sql脚本
缺点: 壹> 必要三个公文:update.sql和update_mysql.sh
二> 一旦中间出错,之后脚本就不会试行,比方:
要是第2张表已经存在,则会报出如下相当:
ERROR 1050 (42S01) at line 1 in file: ‘update.sql’: Table ‘user’ already
exists
然后脚本退出,第二张表也就不可能创设。

8

您恐怕感兴趣的文章:

  • 应用Shell脚本完结远程MySQL自动查询
  • Linux
    shell落成天天按期备份mysql数据库
  • Shell下完结免密码连忙登入MySQL数据库的主意

535522

复制代码 代码如下:

方案1

  1. mysql -uuser -ppasswd -e”insert LogTable values(…)”  

 

优点:语句简单

缺点:援助的sql相对简便易行

 

mysql -uuser -ppasswd -e”insert LogTable values(…)” 

0

cat update_mysql.sh | mysql –user=root -ppassword

89

下一场试行如下命令:

原表音信

复制代码 代码如下:

ON tag.atu_tag_id=T1.af_tag_id and tag.atu_user_id=T1.af_user_id

复制代码 代码如下:

革新结果目的表:am_tag_user_4

在shell开采中,多数时候大家供给操作mysql数据库(比方:查询数据、导出数据等),可是我们又不知道该如何是好进入mysql命令行的条件,就须求在shell境况中模仿mysql的情况,使用mysql相关命令,本文化总同盟结二种shell操作mysql的章程,供大家仿照效法。

atu_num

use chbdb;
source update.sql

3

优点: 一>援助复杂的sql脚本
二>不须要任何额外文件
缺点: 一> 表名、字段不可能运用单引号,要求修改原有sql语句
二> 1旦中间出错,之后脚本就不会实行,比方:
假诺第二张表已经存在,则会报出如下非常:
ERROR 1050 (42S01) at line 1 in file: ‘update.sql’: Table ‘user’ already
exists
接下来脚本退出,第一张表也就不可能成立。

374

#!/bin/bash
mysql -u* -h* -p* <<EOF
    Your SQL script.
EOF

 

方案1

mysql关联多表进行update更新操作

复制代码 代码如下:

UPDATE Track

世家驾驭在mysql命令行中使用source命令,尽管中间出错,后续脚本也会继续试行,可是如上二种方法,均无法化解该难题,假若我们有好的提出,请回复,谢谢。

方案2

预备1个sql脚本,名叫update.sql,例如:

  1. CREATE TABLE `user` (  
  2.   `id` varchar(36) NOT NULL COMMENT ‘主键’,  
  3.   `username` varchar(50) NOT NULL COMMENT ‘用户名’,  
  4.   `password` varchar(50) NOT NULL COMMENT ‘用户密码’,  
  5.   `createdate` date NOT NULL COMMENT ‘创建时间’,  
  6.   `age` int(11) NOT NULL COMMENT ‘年龄’,  
  7.   PRIMARY KEY  (`id`)  
  8. ) ENGINE=MyISAM DEFAULT CHA凯雷德SET=utf八 COMMENT=’用户新闻表’;  
  9. DROP TABLE IF EXISTS `visit_log`;  
  10. CREATE TABLE `visit_log` (  
  11.   `id` varchar(36) character set utf8 NOT NULL,  
  12.   `type` int(11) NOT NULL,  
  13.   `content` text character set utf8 NOT NULL,  
  14.   `createdate` date NOT NULL,  
  15.   PRIMARY KEY  (`id`)  
  16. ) ENGINE=MyISAM DEFAULT CHAMuranoSET=latin1 COMMENT=’访问日志’;  

 

 新建一个update_mysql.sh,内容如下:

  1. use chbdb;  
  2. source update.sql  

 

 

接下来实践如下命令:

  1. cat update_mysql.sh | mysql –user=root -ppassword  

 

优点:支持复杂的sql脚本

缺点:

1> 供给三个文件:update.sql和update_mysql.sh

二> 一旦中间出错,之后脚本就不会推行,举个例子:

只要第3张表已经存在,则会报出如下卓殊:

ERROR 1050 (42S01) at line 1 in file: ‘update.sql’: Table ‘user’ already
exists

下一场脚本退出,第一张表也就不能制造。

方案4 策动三个sql脚本,如update.sql,然后施行如下命令:

【扩展】

方案2 计划1个sql脚本,名称叫update.sql,比如:

89

优点:语句简单
缺点:支撑的sql相对简便易行

7

#!/bin/bash
mysql -uroot  -ppassword <<EOF
   use chbdb;
    CREATE TABLE user (
  id varchar(36) NOT NULL COMMENT ‘主键’,
  username varchar(50) NOT NULL COMMENT ‘用户名’,
  password varchar(50) NOT NULL COMMENT ‘用户密码’,
  createdate date NOT NULL COMMENT ‘创立时间’,
  age int(11) NOT NULL COMMENT ‘年龄’,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARAV四SET=utf八 COMMENT=’用户音信表’;

INNER JOIN MV

方案3 新建一个shell脚本,格式如下:

af_tag_id

复制代码 代码如下:

group by af_user_id,af_tag_id) AS T1

新建二个update_mysql.sh,内容如下:

SET Track.is_show=MV.is_show

例如:

复制代码 代码如下:

where atu_tag_id=af_tag_id and atu_user_id=af_user_id and af_content_id = 535522 andaf_content_type=3 and af_user_id=374

CREATE TABLE `user` (
  `id` varchar(36) NOT NULL COMMENT ‘主键’,
  `username` varchar(50) NOT NULL COMMENT ‘用户名’,
  `password` varchar(50) NOT NULL COMMENT ‘用户密码’,
  `createdate` date NOT NULL COMMENT ‘创造时间’,
  `age` int(11) NOT NULL COMMENT ‘年龄’,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARAV4SET=utf八 COMMENT=’用户音讯表’;
DROP TABLE IF EXISTS `visit_log`;
CREATE TABLE `visit_log` (
  `id` varchar(36) character set utf8 NOT NULL,
  `type` int(11) NOT NULL,
  `content` text character set utf8 NOT NULL,
  `createdate` date NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHAGL450SET=latin1 COMMENT=’访问日志’;

INNER JOIN (SELECT  af_user_id,af_tag_id,count(*) as cnt

mysql -uroot -ppassword < update.sql

atu_num

优点:支撑复杂的sql脚本
缺点: 1> 一旦中间出错,之后脚本就不会进行,举例:
假使第二张表已经存在,则会报出如下非常:
ERROR 1050 (42S01) at line 1 in file: ‘update.sql’: Table ‘user’ already
exists
下一场脚本退出,第三张表也就不能创制。

WHERE trkid<6

0

0

ON tag.atu_tag_id=fav.af_tag_id and tag.atu_user_id=fav.af_user_id

535522

WHERE Track.trkid=MV.mvid and
trkid<6

0

atu_user_id

方案3

    新建二个shell脚本,格式如下:

  1. #!/bin/bash  
  2. mysql -u* -h* -p* <<EOF  
  3.     Your SQL script.  
  4. EOF  

 

例如:

#!/bin/bash  
mysql -uroot  -ppassword <<EOF  
   use chbdb;  
    CREATE TABLE user (  
  id varchar(36) NOT NULL COMMENT '主键',  
  username varchar(50) NOT NULL COMMENT '用户名',  
  password varchar(50) NOT NULL COMMENT '用户密码',  
  createdate date NOT NULL COMMENT '创建时间',  
  age int(11) NOT NULL COMMENT '年龄',  
  PRIMARY KEY  (`id`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户信息表';  
EOF

 

 

优点:

一>支持复杂的sql脚本

二>不供给任何额外文件

缺点:

一> 表名、字段无法应用单引号,要求修改原有sql语句

2> 1旦中间出错,之后脚本就不会试行,举例:

壹旦第二张表已经存在,则会报出如下卓殊:

ERROR 1050 (42S01) at line 1 in file: ‘update.sql’: Table ‘user’ already
exists

然后脚本退出,第三张表也就不能够成立。

374

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图