在mysql连接中运行sql文件失败原因

本文讲述了在MySQL和PostgreSQL中运行SQL文件创建表时遇到的问题。主要区别在于MySQL使用反引号来标识表名和字段名,而PostgreSQL对英文标识不需引号,但对数字需双引号。通过修改SQL语句中的标识符引用方式,成功解决了在MySQL中运行错误的问题。
摘要由CSDN通过智能技术生成

在mysql连接中运行sql文件失败

在MySQL的连接中和Postgresql连接中运行SQL文件来创建表是有点差别的,今天做创建表的时候,在记事本上写了创建表和插入数据的sql语句,将.txt后缀名改成.sql在自己的Navicat Premium 12上运行出错,在同学的pdAdmin数据库软件上运行却没有报错。
在mysql上运行sql文件出错
在mysql上运行sql文件出错如果遇到上面差不多的一般是sql语句的问题。
下面是我原来的sql代码

CREATE  TABLE pifahelingshouye(
 zhibiao  varchar(50) NOT NULL ,
 "2015" DECIMAL(10,1) DEFAULT NULL,
 "2016" DECIMAL(10,1) DEFAULT NULL,
 "2017" DECIMAL(10,1) DEFAULT NULL,
 "2018" DECIMAL(10,1) DEFAULT NULL,
 "2019" DECIMAL(10,1) DEFAULT NULL,
PRIMARY KEY (zhibiao)
);
insert into pifahelingshouye (zhibiao,"2015","2016","2017","2018","2019")
	values
('法人企业   (个)', 183077,  193371, 200170,211515,242544),
('年末从业人额(万人)',1173.6 ,1193.6,1183.8,1184.5,1213.9),
('商品购进额(亿元)' ,  468071.7 ,506309.4 ,572287.8, 616551.4 ,709505.3),
('W进口额(亿元)' ,   33943.6 , 35355.7,  43743.8,45121.4,  51415.4 ),
('商品请售额(亿元)' ,  515567.5 ,558877.6 ,630181.3, 691162.1, 782518.3),
('W出口额(亿元)'  ,  22719.5 , 21924.7  ,23617.1 , 26238.6,  27436.1),
('期末商品库存额(亿元)', 36591.7 , 38388.6 , 43397.0 , 42117.2 ,  46410.0 );

我们老师给我们用PostgreSQL讲的,我们老师说**如果写的是英文就不用引号,最好字段名不要用中文,如果是数字就要用双引号。**然后在pdAdmin上测试了也确实是这样。
但是在mysql的连接中却不是这样的,**在 MySQL 中,用一对反引号"`"来标注SQL语句中的标识,如数据库名、表名、字段名等。**反引号是在英文状态下Tab键上面,1左边的那个按键。所以我改成下面的代码就行了(在下面的代码中字段名、表名可以是中文的,不过要加反引号)

CREATE  TABLE `pifahelingshouye`(
 `zhibiao`  varchar(50) NOT NULL ,
 `2015` DECIMAL(10,1) DEFAULT NULL,
 `2016` DECIMAL(10,1) DEFAULT NULL,
 `2017` DECIMAL(10,1) DEFAULT NULL,
 `2018` DECIMAL(10,1) DEFAULT NULL,
 `2019` DECIMAL(10,1) DEFAULT NULL,
PRIMARY KEY (`zhibiao`)
)

insert into `pifahelingshouye`
	values
('法人企业   (个)', 183077,  193371, 200170,211515,242544),
('年末从业人额(万人)',1173.6 ,1193.6,1183.8,1184.5,1213.9),
('商品购进额(亿元)' ,  468071.7 ,506309.4 ,572287.8, 616551.4 ,709505.3),
('W进口额(亿元)' ,   33943.6 , 35355.7,  43743.8,45121.4,  51415.4 ),
('商品请售额(亿元)' ,  515567.5 ,558877.6 ,630181.3, 691162.1, 782518.3),
('W出口额(亿元)'  ,  22719.5 , 21924.7  ,23617.1 , 26238.6,  27436.1),
('期末商品库存额(亿元)', 36591.7 , 38388.6 , 43397.0 , 42117.2 ,  46410.0 );

因为我也是刚学,如果有讲的不对不好的地方,欢迎指出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子时不睡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值