在经过一段时间的数据库学习之后,我接触到了Mysql与Postgresql两种数据库管理系统,由于我对这两者的理解都停留在很浅的层面,就不在此比较两者的好坏,主要在这里比较一下两者的入门指令(当然两者都可以通过Navicat或其他软甲来管理数据库--而postgresql安装时就自带pgAdmin管理软件--但在这里主要是比较在CMD中的操作指令)以及最近了解到的一个小知识

另外要注意的是想要通过CMD来操作两个数据库,都需要在环境变量的PATH中添加到安装目录的bin文件夹,我在安装postgresql时由于使用的是安装程序,所以未配置环境变量,使得psql一直是无法识别的指令

接下来就分析两者指令的区别:
  1、登陆:

mysql:mysql -u root -p 再输入用户密码

postgresql:psql -h localhost(本地IP地址,也可以直接输入IP值) -U username(默认安装情况下用户名为postgres),该方法进入postgesql管理系统与mysql进入的界面一样,同时还可以通过指令psql -h localhost -U username -d dbname 直接连接到名字为dbname的数据库中,另外postgresql中自带一个SQL shell可以直接进入数据库管理界面

2、列出所有数据库

mysql:show databases

postgresql:\l或\list

3、进入某一个数据库

mysql:use 数据库名

postgresql:\c 数据库名

4、列出所有表

mysql:show tables

postgresql:\d

5、退出

mysql:quit

postgresql:\q

上面展示的都是两者的基本指令,至于其他的建数据库,建表等SQL语句都是一致的,此处就不做详述,另外一点就是在postgresql中可以通过help指令来显示该层的指令操作

最后就是我在学习mysql的过程中得到的一个小知识,当我们建立字段时会用到int数据类型,同时也就存在int(n)这样的数据类型,起初我以为该操作与char(n)一样,表示固定int的长度,也就是当我设置一个字段为int(5)时,我一定要输入5个数,当字段为int(12)时,一定要输入12个数。然而实际上后者是错的,int(12)也只占4个字节,而12位整数已经超过int的取值范围,后面的n实际上作用是字段的最低显示长度,并且要加上zerofill指令才能做到当位数不满足最低位数时高位补0,比如说int(5) zerofill,当输入值为100时,显示的数就是00100,当不存在zerofill时,该长度设置无效。

而对应的Navicat中在管理Mysql设置int数据类型时下面有一个“位数不足时补零”的选项,不过在管理postgresql时不存在该选项,目前不知道原因。

Mysql与Postgresql的更多相关文章

  1. SQLite vs MySQL vs PostgreSQL:关系型数据库比较

    自1970年埃德加·科德提出关系模型之后,关系型数据库便开始出现,经过了40多年的演化,如今的关系型数据库种类繁多,功能强大,使用广泛.面对如此之多的关系型数据库,我们应该如何权衡找出适合自己应用场景 ...

  2. 【转】 MySQL与PostgreSQL:该选择哪个开源数据库?哪一个更好?

    转载地址:http://www.infoq.com/cn/news/2013/12/mysql-vs-postgresql 如果打算为项目选择一款免费.开源的数据库,那么你可能会在MySQL与Post ...

  3. 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念

    本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ...

  4. MySQL和PostgreSQL 导入数据对照

    在虚拟机上測评了下MySQL 和 PostgreSQL 的各种LOAD FILE方式以及时间. 由于是虚拟机上的測评,所以时间仅仅做參考,不要太较真, 看看就好了.MySQL 工具:    1. 自带 ...

  5. 关于PDF.NET开发框架对Mysql Sqlite PostgreSQL数据库分页支持的个人看法

    关于PDF.NET开发框架的名字由来  在设计www.pwmis.com站点的时候,考虑到架构的兼容性和将来升级的可能性,最重要的是没有足够的时间去为网站添加和维护很多复杂的程序,所以在借鉴前人成功经 ...

  6. 异常 SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]

    使用Spring 的JDBCtemplate 调用数据库的时候 出现了如下的问题 SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-S ...

  7. 在MySQL和PostgreSQL之外,为什么阿里要研发HybridDB数据库?

    http://www.infoq.com/cn/news/2016/12/MySQL-PostgreSQL-Greenplum 编者按 在大数据火遍IT界之前,大家对数据信息的挖掘通常聚焦在BI(Bu ...

  8. 常用Mysql或者PostGresql或者Greenplum的语句总结。

    1.使用mysql的union all可以同时查询出所有自己想要查询数据表的数据量. select 'user' as tablename, count(*) from user union all ...

  9. Mybatis运行错误:信息: SQLErrorCodes loaded: [DB2, Derby, H2, HDB, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]

    Mybatis运行出现错误提示: 五月 23, 2018 12:07:22 上午 org.springframework.jdbc.support.SQLErrorCodesFactory <i ...

随机推荐

  1. React.createClass和extends Component的区别

    React.createClass和extends Component的区别主要在于: 语法区别 propType 和 getDefaultProps 状态的区别 this区别 Mixins 语法区别 ...

  2. spring框架学习之--数据库操作增删改查

    基于spring的NamedParameterJdbcTemplate操作数据库 首先在 resources 文件夹下添加数据库配置文件jdbc.properties 配置常用的数据库信息 consu ...

  3. turtlebot3安装遇到的问题总结

    turtlebot3安装遇到的问题总结 问题如下 1.ubuntu mate 开机启动 开始试了很多方法都不行,注意不要输错用户名,不然进不了系统了(进不了解决方法,找个电脑读一下这个turtlebo ...

  4. bios下能看到硬盘,进入系统看不到的解决方法

    新加了个固态硬盘 安装完系统后,打开我的电脑 看不到老硬盘的分区,进入磁盘管理也看不到. 最后,重启 选择老硬盘进入系统后, 再重启,进入新硬盘的系统, 就显示出来了

  5. 【Bad Practice】12306 query

  6. 接口自动化框架(java)--4.接口Token传递

    这套框架的报告是自己封装的 一般token会在登录接口返回结果中呈现,从代码层面获取token的方式有很多种,我是使用jsonpath这个json路径语言去匹配token所在路径的key值 packa ...

  7. cocos2d JS 源生js实现each方法

    javascript笔记——源生js实现each方法   出处:http://www.lovejavascript.com/#!zone/blog/content.html?id=48 jquery里 ...

  8. PHP----------linux下如何安装redis扩展。安装redis可以在我的博客redis里面寻找。

    1.扩展下载地址:wget https://github.com/phpredis/phpredis/archive/develop.zip 2.下载完了以后解压压缩包 解压以后切换到 cd phpr ...

  9. JSON错误

    今天遇到了json转换的错误. 原因:少导入了jar包 解决方法把所有的jar导入

  10. 基于Nginx 和 uwsgi 搭建 django.

    第一篇博客,不是很懂语法之类的,希望通过多写点东西,记录自己的成长,早点成为一个pyer. 就写下这两天折腾的这个nginx-uwsgi-django. 首先附上官方文档链接 http://uwsgi ...