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

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

SET FOREIGN_KEY_CHECKS=0;


-- ----------------------------
-- Table structure for userinfo
-- ----------------------------
DROP TABLE IF EXISTS `userinfo`;
CREATE TABLE `userinfo` (
  `id` int(11) NOT NULL auto_increment,
  `userName` varchar(20) collate utf8_unicode_ci default NULL,
  `password` varchar(20) collate utf8_unicode_ci default NULL,
  `roleName` varchar(20) 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` int(11) NOT NULL auto_increment,
  `recordTitle` varchar(50) default NULL,
  `acceptDept` varchar(20) default NULL,
  `AQDatails` text,
  `FJDowload` varchar(100),
  `FJUpload` varchar(100),
  `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 int(1) default '0';


--确认指令表
CREATE TABLE `tb_sureRecord` (
  `ID` int(10) NOT NULL auto_increment,
  `recordID` int(11) NOT NULL,
  `isQS` varchar(10) default NULL,
  `isSL` varchar(10) default NULL,
  `refauseWhy` varchar(20) default NULL,
  `instruction` text,
  `isBJ` varchar(100),
  `acceptDept` varchar(20) default NULL,
  `QSTime` datetime default NULL,
  `SLTime` datetime default NULL,
  `BJTime` datetime default NULL,
  `assignPople` varchar(20) default NULL,
  PRIMARY KEY  (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--alter table tb_sureRecord change isSLt isSL varchar(10);
--指令回复表--
--回复类型  0 表示指令回复   1 表示配侦回复
CREATE TABLE `tb_replaied` (
  `ID` int(10) NOT NULL auto_increment,
  `recordID` int(11),
  `replayNumber` varchar(20) default NULL,
  `replayType` int(1) default '0',
  `pzNumber` varchar(20) default NULL,
  `replayContent` text,
  `isZH` varchar(10),
  `isPA` varchar(10),
  `ZHPople` varchar(10),
  `replayDept` varchar(50),
  `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` int(10) NOT NULL default '0',
  `deptNumber` varchar(100) NOT NULL default '',
  `deptName` varchar(100) 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 (实际利用的是重定向技术) 回车即可

 

人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。