SQL

Note for SoloLearn SQL

本文主要关于SQL的基本语法的笔记,来自SoloLearn。 基本概念 介绍数据库 数据库 数据库是指以利于容易地连接、有效管理和更新的方式来管理的一系列的数据。数据库由储存相关联的信息的表格组成,举例来说,假设我们需要建立一个如YouTube的网站,那么我们需要数据库来存储视频信息、用户名与密码以及评论等等。 数据库表格 数据库表格用类似Excel的方式存储和展示数据,数据库通常由许多的表格构成,例如想象一个由名字和电话号码构成的表格。 primary key primary key是表格中特殊的一列,主要特性是 每行都有独特的primary key 不能为null 例如下图中,ID是个primary key的好选择,因为可能会有重名的情况。 什么是SQL 我们已经理解了什么是数据库,那么理解什么是SQL就很简单了。SQL 全称是结构化序列语言(Structured Query Language)。SQL用于连接和操作数据库,而MySQL指的是一种能理解SQL的程序语言。可以这么说,SQL是一种标准,而有许多遵循这个版本却自带许多特性的程序语言的实现。 SQL可以: 插入、更新、删除数据库里的记录 创建新的数据库、表格、存储程序和外观 从数据库取回数据 SQL语句 SELECT 基本SQL语句 SHOW DATABASES:返回服务器上所有数据库的序列 SHOW TABLES:返回当前数据库上的所有表格 SHOW COLUMNS FROM customers:返回选定表格内的列信息 SELECT 语句 12 SELECT column_listFROM table_name 在制定表格内选中一列或者多列 语法规则 多行语句 SQL允许同时运行多句语句 12 SELECT FirstName FROM customers;SELECT City FROM customers; 大小写不敏感 …

Note for SoloLearn SQL Read More »

利用Pandas读取远程mysql数据库

利用pymysql与Pandas读取远程数据库上的表格,并存储为本地csv文件。 因为业务需要读取服务器上的数据进行分析,能连接到sql服务器,但是当我企图用mysqldump备份(复制)database到本地却经常出现mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table错误,这个需要改net_write_timeout来增加等待时长来解决,苦于我的账号并没有权限,难不成只好之间上sql用odbs大法直接做数据分析?我的天,那得多麻烦,经过几番思考,我的解决方案是:用sql的python接口包pymysql进行sql登录以及操作,再用Pandas以DataFrame格式接受table数据,最后存为csv文件。 登录模块 注意,若数据库含有中文,需要use_unicode=True避免乱码 123456789101112131415161718192021222324 # -*_coding:utf8-*-# Created by frank at 07/04/2017import pymysqlhost = '#########'port = ####user = '########'password = '#######'def get_database(): """ :return: return the pre-connect database """ connection = pymysql.connect(host=host, user=user, password=password, port=port, charset='utf8mb4', use_unicode=True,) return connection 处理模块 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 # -*_coding:utf8-*-# …

利用Pandas读取远程mysql数据库 Read More »