Python mysql-SQL概要

2017-09-05 20:10:58

一、SQL语句及其种类

SQL使用关键字,表名,列名等组合成一条语句来描述操作的内容。关键字是指那些含义或者使用方法是先已经定义好的英语单词。根据RDBMS赋予的指令种类的不同,SQL语句可以分为以下三类:

  • 数据定义语言DDL(data definition language)用来创建或者删除数据库以及数据库中的表等对象。DDL包含以下几种指令。

create : 创建数据库和表等对象

drop : 删除数据库和表等对象

alter : 修改数据库和表等对象的结构

  • 数据操作语言DML(data manipulation language)用来查询或者变更表中的记录。DML包含以下几种指令。

select : 查询表中的数据

insert : 向表中插入新的数据

update : 变更表中的数据

delete : 删除表中的数据

  • 数据控制语言DCL(data control language)用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对RDBMS的用户是否有权限操作数据库中的对象(数据库表等)进行设定。DCL包含以下几种指令。

commit : 确认对数据库中的数据进行的变更

rollback : 取消对数据库中的数据进行的变更

grant : 赋予用户操作权限

revoke : 取消用户的操作权限

实际使用的SQL语句中有90%属于DML。

二、SQL的基本书写规则

  1. SQL语句要以分号结尾
  2. SQL语句不区分大小写(关键词的大小写不加区分)
  3. 常数的书写方式是固定的(字符串和日期一遍需要使用但引号‘’括起来,数字常数无需加上单引号)
  4. 单词之间需要使用半角空格或者换行符来进行分割
  5. 命名规则:只能使用半角英文字符、数字、下划线作为数据库、表和列的名称。并且名称的开头必须以半角英文字符开始

三、数据类型

  • INTEGER

用来指定存储整数的列的数据类型,不能存储小数

  • CHAR

用来指定存储字符串的列的数据类型,可以像CHAR(100)这样,在括号中指定字符串的最大长度,字符串一旦超出最大长度的部分是无法输入到该列中的。根据RDBMS的不同这里的100有可能指的字符个数,也有可能指的是字节长度。

字符串以定长字符串的形式存储在被指定为CHAR的列中,所谓定长字符串,就是当列中存储的字符串长度达不到最大长度的时候,使用半角空格进行补足。当然这里的字符是区分大小写的。

  • VARCHAR

可边长字符串类型,可以像VARCHAR(100)这样,在括号中指定字符串的最大长度,字符串如果未达最大长度,也不会使用半角空格进行补足。当然这里的字符串是区分大小写的。

  • DATE

用来指定存储日期(年月日)的列的数据类型

时间: 2024-12-16 10:55:08

Python mysql-SQL概要的相关文章

python 3 mysql sql逻辑查询语句执行顺序

python 3 mysql sql逻辑查询语句执行顺序 一 .SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by_list> HAVING <havin

python mysql模块

#!/usr/bin/python import MySQLdb def new_mail_mysql(ak): print ak conn=MySQLdb.connect(host='m3306.sae.sina.com.cn',user='sae_ol',passwd='7b149edb22ae7526',db='sae',port=3306) cur=conn.cursor() sql="select name from app where accesskey='%s'"%ak

Python/MySQL(三、pymysql使用)

Python/MySQL(三.pymysql使用) 所谓pymysql就是通过pycharm导入pymysql模块进行远程连接mysql服务端进行数据管理操作. 一.在pycharm中导入pymysql模块: 最后进行搜索和导入 二.通过pycharm语句连接MySQ服务端(MySQL服务端必须先启动) 1 import pymysql 2 导入pymysql 3 conn=pymysql.connect(host='localhost',user='root',password='guobao

web实践小项目&lt;一&gt;:简单日程管理系统(涉及html/css,javascript,python,sql,日期处理)

暑假自学了些html/css,javascript和python,苦于学完无处练手几乎过目即忘...最后在同学的建议下做了个简单日程管理系统.借第一版完成之际,希望能将实践期间犯过的错误和获得的新知进行整理,希望能给其他初学者提供参考,也希望有大神在浏览我粗糙的开发过程中能指出一些意见或建议. (阅读以下内容需要有一定的html/css,javascript,python和sql基础,and谢谢阅读!) 注:实践中的环境为ubuntu 14.04操作系统,python3.4(2.7实测也可行),

Python/MySQL表操作以及连接

Python/MySQL表操作以及连接 mysql表操作: 主键:一个表只能有一个主键.主键可以由多列组成. mysql> create table yuan(id int auto_increment,yuangongname int,bumen_id int, primary key(id,yuangongname))engine=innodb default charset=utf8; Query OK, 0 rows affected (0.43 sec) 外键 :可以进行联合外键,操作

Python+Mysql生成zabbix统计数据

先大概了解一下zabbix数据库结构: 1.groups表 可以根据组名查到组ID 2.找到组ID就可以根据组ID找出这个组下面的所有服务器的ID,这个关系在hosts_groups表里面: 3.有了hostid就可以在hosts表里查看这台机器的基本信息了: items表则可以根据hostid查出这台服务器的所有监控项: 4.终于在items表查到itemid,利用这个itemid在trends和trends_uint这两个表中统计出我们需要的数据 我python水平挺菜的,很多面向对象的功能

Python&MySQL操作过程中遇到的编码问题

对于Python字符编码的理解 之前整理了一部分,这次主要是设计到数据库操作的. 下面是一些编码方面的概念和原理,以条目方式整理: CREATE DATABASE IF NOT EXISTS db_name DEFAULT CHARSET utf8 COLLATE utf8_general_ci; DEFAULT CHARSET是设置默认字符编码集,也就是数据在库内从存储编码,我的理解是在存储这个层面上的,如果SQL命令是以gbk方式传输数据的(cur.execute('SET NAMES ut

第一节、Alex 讲解 python+mysql 交互;

Python Mysql 交互 A.Alex 的语法展示: import MySQLdb  try: conn=MySQL.connect(host='localhost',user='root',passwod='123qwe',db='test-DB',port='3306') cur =conn.cursor() cur.execute('select * from user_info') cur.close() conn.close() except MySQLdb.Errot,e: p

Python&mdash;&gt;Mysql&mdash;&gt;Dbvisualizer

1.Download Connector/Python:mysql-connector-python-2.1.3-py2.7-win32 Mysql:mysql-installer-community-5.5.48.0 Python:python-2.7.10 2.安装好Python,Mysql Connector/Python:  http://dev.mysql.com/doc/connector-python/en/connector-python-installation.html Py

python mysql 查询返回字典结构

cur = self.conn.cursor(MySQLdb.cursors.DictCursor)加上MySQLdb.cursors.DictCursor可以返回字典结构{列名:值} class MYSQL(): def __init__(self,host,user,pwd,db): self.host = host self.user = user self.pwd = pwd self.db = db def __GetConnect(self): """ 得到连接信