mariadb中执行数据库脚本的方法

为了项目需求,写如下sql数据库脚本:

SET FOREIGN_KEY_CHECKS=0;

— —————————-
— Table structure for userinfo
— —————————-
DROP TABLE IF EXISTS `userinfo`;
CREATE TABLE `userinfo`
  `id` int11) NOT NULL auto_increment,
  `userName` varchar20) collate utf8_unicode_ci default NULL,
  `password` varchar20) collate utf8_unicode_ci default NULL,
  `roleName` varchar20) collate utf8_unicode_ci default NULL,
  PRIMARY KEY  `id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

— —————————-
— Records of userinfo
— —————————-
INSERT INTO `userinfo` VALUES ’01’, ‘zhangsan’, ‘123456’, ‘基层单位’);
INSERT INTO `userinfo` VALUES ’02’, ‘wangsan’, ‘123456’, ‘基层单位’);
INSERT INTO `userinfo` VALUES ’03’, ‘lisan’, ‘123456’, ‘基层单位’);
INSERT INTO `userinfo` VALUES ’04’, ‘zhaosan’, ‘123456’, ‘基层单位’);
INSERT INTO `userinfo` VALUES ’05’, ‘zhousan’, ‘123456’, ‘基层单位’);
INSERT INTO `userinfo` VALUES ’06’, ‘wusan’, ‘123456’, ‘基层单位’);

INSERT INTO `userinfo` VALUES ’11’, ‘zhangsi’, ‘123456’, ‘合成作战室’);
INSERT INTO `userinfo` VALUES ’12’, ‘wangsi’, ‘123456’, ‘合成作战室’);
INSERT INTO `userinfo` VALUES ’13’, ‘lisi’, ‘123456’, ‘合成作战室’);

CREATE TABLE `tb_record`
  `recordID` int11) NOT NULL auto_increment,
  `recordTitle` varchar50) default NULL,
  `acceptDept` varchar20) default NULL,
  `AQDatails` text,
  `FJDowload` varchar100),
  `FJUpload` varchar100),
  `publishTime` datetime default NULL,
  PRIMARY KEY  `recordID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
–增加一个字段,status,0 表示指令未确认 1 表示指令已经确认 
alter table tb_record add status int1) default ‘0’;

–确认指令表
CREATE TABLE `tb_sureRecord`
  `ID` int10) NOT NULL auto_increment,
  `recordID` int11) NOT NULL,
  `isQS` varchar10) default NULL,
  `isSL` varchar10) default NULL,
  `refauseWhy` varchar20) default NULL,
  `instruction` text,
  `isBJ` varchar100),
  `acceptDept` varchar20) default NULL,
  `QSTime` datetime default NULL,
  `SLTime` datetime default NULL,
  `BJTime` datetime default NULL,
  `assignPople` varchar20) default NULL,
  PRIMARY KEY  `ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
–alter table tb_sureRecord change isSLt isSL varchar10);
–指令回复表–
–回复类型  0 表示指令回复   1 表示配侦回复
CREATE TABLE `tb_replaied`
  `ID` int10) NOT NULL auto_increment,
  `recordID` int11),
  `replayNumber` varchar20) default NULL,
  `replayType` int1) default ‘0’,
  `pzNumber` varchar20) default NULL,
  `replayContent` text,
  `isZH` varchar10),
  `isPA` varchar10),
  `ZHPople` varchar10),
  `replayDept` varchar50),
  `replayTime` datetime default NULL,
  PRIMARY KEY  `ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

#
# Table structure for table orders
#

CREATE TABLE `dept`
  `deptId` int10) NOT NULL default ‘0’,
  `deptNumber` varchar100) NOT NULL default ”,
  `deptName` varchar100) NOT NULL,
  PRIMARY KEY  `deptId`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `dept` VALUES 1,’P14464778285479397′,’刑大-合成作战中队’);
INSERT INTO `dept` VALUES 2,’P14464561185246144′,’配侦部’);
INSERT INTO `dept` VALUES 3,’P14464561285246244′,’网监部’);

文件名称为synthetic.sql,

开启数据库服务(记得使用超级用户权限,若有问题,请参考本人的另外一篇博客文章):

systemctl start mariadb

要使用该脚本,登录数据,

mysql -u root -p

根据提示输入你安装数据库时设置的密码,首次时没有密码的

需要先建立数据库,以下建立的数据库名称为databasename;

create database databasename;

使用数据库;

use databasename;

使用数据库脚本创建表及插入数据等,如果不是当前目录下,还须制定脚本的路径:

source [路径]synthetic.sql

不等陆数据库也可以用另外的方法实现:

在命令行下输入 mysql -h localhost -u root -p123456 < [路径]synthetic.sql 实际利用的是重定向技术) 回车即可

Published by

风君子

独自遨游何稽首 揭天掀地慰生平