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 (实际利用的是重定向技术) 回车即可