在经过一段时间的数据库学习之后,我接触到了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. JavaEE 藏经阁

    后台技术 工作流引擎:Activiti5 ORM框架:Mybatis/Hibernate JPA Web框架:SpringMVC/Struts 核心框架:Spring Framework4.0 任务调 ...

  2. python基础1 print()函数

    一切程序的开始都是由print('hello world') 了解print()函数 输出python之歌 print(''' 优美胜于丑陋明了胜于晦涩简洁胜于复杂复杂胜于凌乱扁平胜于嵌套间隔胜于紧凑 ...

  3. AD、PADS、Cadence对比

    本人平时主要接触的是FPGA设计,最近找工作发现有些企业要求会画PCB电路,所以开始学习相关工具软件.主流软件是Altium Designer,PADS和Cadence这三个. 三大工具的用途: AD ...

  4. C语言扫盲及深化学习

    c语言特点: (1)效率高 (2)控制性强 (3)硬件亲和性好 (4)可移植性高 一.关于注释 c语言中注释不能嵌套,因此注释代码时一定要注意源代码中是否已经存在注释.要从逻辑上删除一段代码,利用预编 ...

  5. Linux shell编程:状态变量

    四大特殊状态变量:$?. $$. $!. $_ $?的作用是:获取执行上一个指令的执行状态返回值,返回0表示上一个命令或者程序执行成功,返回的值为非0则表示上一个命令执行失败. $$的作用是:获取当前 ...

  6. Angular+NodeJs+MongoDB搭建前后端程序

    get请求: //angular 前端get请求 this.client.get('http://localhost:3000/id/tom').subscribe(data => { cons ...

  7. 136A

    #include <stdio.h> #include <string.h> #define MAXSIZE 110 int main() { int giv[MAXSIZE] ...

  8. 部署的docker image总是太大,怎么办?

    sudo docker images REPOSITORY                        TAG                 IMAGE ID            CREATED ...

  9. 以管理员身份运行 cmd 删除无权限删除的文件夹

    rd 文件夹 PS:删除空文件夹 rd /s 文件夹 PS:删除文件夹,及所有子目录和文件 rd /s/q 文件夹 PS:强制删除文件夹,及所有子目录和文件,不需要提示

  10. pytorch加载预训练模型参数的方式

    1.直接使用默认程序里的下载方式,往往比较慢: 2.通过修改源代码,使得模型加载已经下载好的参数,修改地方如下: 通过查找自己代码里所调用网络的类,使用pycharm自带的函数查找功能(ctrl+鼠标 ...