SQL与python相结合的相关数据处理分析
来源:互联网 发布:编程中绝对值怎么表示 编辑:程序博客网 时间:2024/06/15 22:16
SQL与python相结合的相关数据处理分析:
本人也是根据相关的项目进行的相应学习,对SQL与python相结合做简单的介绍;
SQL常用语法(网上查找的SQL语法资料):
1、mysql> show databases; #显示当前数据库服务器中的数据库列表2、mysql> create database 库名; #建立数据库:3、mysql> use 库名;mysql> create table 表名 (字段名 varchar(20), 字段名 char(1)); #建立数据表4、mysql> drop database 库名;#删除数据库5、mysql> drop table 表名;#删除数据表6、mysql> delete from 表名;#将表中记录清空7、mysql> insert into 表名 valuse ("性别","M");#往表中插入记录8、mysql-> update 表名 set 字段名1='a',字段名2='b' where 字段名3='c';#更新表中数据9、mysql> load data local infile "e:/mysql.txt" into table 表名;#用文本方式将数据装入数据表中10、mysql> use 数据库名;mysql> source d:/mysql.sql;#导入.sql文件命令11、mysql> update mysql.user set password=password('新密码') where user='root';mysql> flush privileges;#<span style="font-family: Arial, Helvetica, sans-serif;">命令行修改root密码</span>
1、创建数据库命令:create database <数据库名>例如:建立一个名为xhkdb的数据库mysql> create database xhkdb; 2、显示所有的数据库命令:show databases (注意:最后有个s)mysql> show databases;3、删除数据库命令:drop database <数据库名>例如:删除名为 xhkdb的数据库mysql> drop database xhkdb;4、连接数据库命令: use <数据库名>例如:如果xhkdb数据库存在,尝试存取它:mysql> use xhkdb;屏幕提示:Database changed5、当前选择(连接)的数据库mysql> select database();6、当前数据库包含的表信息:mysql> show tables; (注意:最后有个s)
<h2>表操作,操作之前应连接某个数据库</h2>
1、建表命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);mysql> create table MyClass(> id int(4) not null primary key auto_increment,> name char(20) not null,> sex int(4) not null default ''0'',> degree double(16,2));2、获取表结构 命令: desc 表名,或者show columns from 表名mysql>DESCRIBE MyClassmysql> desc MyClass; mysql> show columns from MyClass;3、删除表命令:drop table <表名>例如:删除表名为 MyClass 的表mysql> drop table MyClass;4、插入数据命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Lucy的成绩为66, 编号为2 的名为Joan 的成绩为82,编号为3 的名为Wang 的成绩为96.mysql> insert into MyClass values(1,'Lucy',66),(2,'Joan',82), (2,'Wang', 96);5、查询表中的数据1)、查询所有行命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >例如:查看表 MyClass 中所有数据mysql> select * from MyClass;2)、查询前几行数据例如:查看表 MyClass 中前2行数据mysql> select * from MyClass order by id limit 0,2;6、删除表中数据命令:delete from 表名 where 表达式例如:删除表 MyClass中编号为1 的记录mysql> delete from MyClass where id=1;7、修改表中数据:update 表名 set 字段=新值,… where 条件mysql> update MyClass set name=''Mary'' where id=1;8、在表中增加字段:命令:alter table 表名 add 字段 类型 其他; 例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0 mysql> alter table MyClass add passtest int(4) default ''0''9、更改表名:命令:rename table 原表名 to 新表名; 例如:在表MyClass名字更改为YouClass mysql> rename table MyClass to YouClass;更新字段内容update 表名 set 字段名 = 新内容update 表名 set 字段名 = replace(字段名,''旧内容'',''新内容'');
SQL数据处理运用的比较多的语句如下:
select * from 表 ; #输出表中的整个数据!select 表.字段 from 表 ; #输出表中某个字段的整个数据!select (distinct 字段) from 表A where 表A.字段 in (select 字段 from 表B); #输出表A与表B某个字段的(去重)数据!式中的字段都是相同字段;where为条件语句
<span style="white-space:pre"></span>select count(字段) from 表 ; #输出表中某个字段的统计个数(按行计数)!如果需要去重,添加distinct 字段;如上面的用法
<span style="white-space:pre"></span>create index index_字段名 on 表(字段); #index_字段名这个是自己去定义的名字,这个语句看似很简单,如果处理大数据的时候,处理数据没有建立字段索引,查找就会很耗时间,多于自己处理的数据一定去建立相应的索引;下面语句介绍如何去查看数据字段是否建立索引;
show fields in 表\G; #字段查看,也可以查看索引;
相应的统计计算根据上面的语句,不断去变形;
python利用SQL中mySQL进行相应的统计数据分析
安装了mysqldb,利用python语言如下:<pre name="code" class="python"># -*- coding: utf-8 -*-'''Created on 2015月9月29日process Data@author: Administrator'''import MySQLdbimport jsonimport os,sysdef processData(filename): reload(sys) sys.setdefaultencoding('utf-8')#这两句是处理数据中有中文,防止出现乱码 try: connect=MySQLdb.connect(user='用户',host='ip',passwd='密码',db='数据库名',charset='utf8')#charset="utf8(编码)" cur=connect.cursor() fr=open(filename,'r') numlines=0 for line in fr: line1=line.split() aname=line1[0] cur.execute('select * from 表A where A.字段 in (select 字段 from 表B)') result=cur.fetchall() print 'numlines:',numlines fr2=open('/data/home/adInit'+'/'+aname+'.csv','a') for record in result: fr2.write(json.dumps(record,ensure_ascii=False)+'\n')#将数据库中运行的结果写入保存的文件,这里也对中文数据进行了处理,防止乱码数据; fr2.close() numlines+=1 fr.close() cur.close() connect.close() except MySQLdb.Error, e: print 'Mysql Error %d:%s'%(e.args[0],e.args[1])def producefilename(): filename= ('/data/home/Init.csv') processData(filename)if __name__ == '__main__': producefilename()
上面的程序,将SQL与python相结合,利用xshell软件登陆集群(win7系统),在集群节点上运行相应的python程序加快了数据处理的运算速度;上面简单的介绍数据的预处理;用lsload查看节点的状态,根据节点的状态,用(ssh 节点 )转换节点运行相应的程序;讲的比较浅显适合初学者去了解SQL如何里用Python去处理数据,我也是初学者!如果没有什么收获给您带来的不便敬请谅解!
0 0
- SQL与python相结合的相关数据处理分析
- python数据分析及数据处理相关资料
- vector容器与iterator容器相结合的程序分析题
- yacc语法分析与lex词法分析相结合
- HANA数据处理的理解与分析一
- Python信贷数据处理与初步分析(ZIP解压)
- Python数据分析-数据处理-数据导入与导出
- JDBC相关的知识点+大数据处理+防止sql注入攻击
- Excel数据处理与分析
- Python绘图与数据处理
- 数据处理相关的优化
- json相关的数据处理
- EXTJS与Domino相结合的例子
- mysql的安装,与php、Apache相结合
- 时间管理与学习相结合的感触
- HTML与php相结合的华丽效果
- ActivityGroup 与 GridView 相结合的方
- 计算机科学与技术的各门学科相结合
- HDU 3695 Computer Virus on Planet Pandora
- rsync命令
- mysql进程意外停止的解决方案
- Linux命令之uniq命令使用详解
- C#学习之多线程开发技术(三)
- SQL与python相结合的相关数据处理分析
- 关于用C操作mysql的一些函数介绍
- Pain类的常用属性设置方法
- Linux命令之wc命令使用详解
- Foj 2203 Problem 2203 单纵大法好 stl应用
- 麻省理工公开课:线性代数
- 前行的路
- 解决UIGestureRecognizer手势与视图上其他滑动视图的冲突
- ksh 格式化输出