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

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

Python mysql-SQL概要的更多相关文章

  1. Python mysql sql基本操作

    一.创建数据库,编码格式为utf-8 create database s12day9 charset utf8; 二.表操作 1.创建表 use s12day9; create table stude ...

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

    python 3 mysql sql逻辑查询语句执行顺序 一 .SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_t ...

  3. 自制小工具大大加速MySQL SQL语句优化(附源码)

    引言 优化SQL,是DBA常见的工作之一.如何高效.快速地优化一条语句,是每个DBA经常要面对的一个问题.在日常的优化工作中,我发现有很多操作是在优化过程中必不可少的步骤.然而这些步骤重复性的执行,又 ...

  4. Python—>Mysql—>Dbvisualizer

    MySQLdb: https://pypi.python.org/pypi/MySQL-python/1.2.4 import MySQLdb 1.Download Connector/Python: ...

  5. Python Mysql 篇

    Python 操作 Mysql 模块的安装 linux: yum install MySQL-python window: http://files.cnblogs.com/files/wupeiqi ...

  6. Python MySQL ORM QuickORM hacking

    # coding: utf-8 # # Python MySQL ORM QuickORM hacking # 说明: # 以前仅仅是知道有ORM的存在,但是对ORM这个东西内部工作原理不是很清楚, ...

  7. python 之路,Day11(上) - python mysql and ORM

    python 之路,Day11 - python mysql and ORM   本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 ...

  8. 树莓派安装ubuntu-server,配置镜像,安装python/mysql/samba记录

    目标: 1/在raspberrypi 3B上安装ubuntu-server 2/配置好python/mysql/samba等服务,实现爬虫稳定运行我的硬件准备: 1/raspberrypi 3B 2/ ...

  9. Python/MySQL(一、基础)

    Python/MySQL(一.基础) mysql: MYSQL : 是用于管理文件的一个软件 -socket服务端 (先启动) -本地文件操作 -解析 指令[SQL语句] -客户端软件 (各种各样的客 ...

  10. Python/MySQL(二、表操作以及连接)

    Python/MySQL(二.表操作以及连接) mysql表操作: 主键:一个表只能有一个主键.主键可以由多列组成. 外键 :可以进行联合外键,操作. mysql> create table y ...

随机推荐

  1. Centos下添加PHP对MSSQL的支持

    Leave a reply 其实很少会有连接SQL Server的机会,不过我们公司刚好有个应用需要使用的SQL Server的数据库,所以也知道给LNMP安装MSSQL的扩展. 搜索网上的相关文章一 ...

  2. Verilog篇(三)仿真原理

    首先引入一个例子: `timescale  1ns/100ps module   TB;                                                         ...

  3. HDU 4770

    这题说的是一在一个N*M的房间内,然后有些房间不能被灯光照亮,有一个灯可以转动方向,其他的灯只能在固定一个方向上,因为数据比较小,所以比较水,直接暴力的进行枚举就好了,但是还是 wa了很久,原因没认真 ...

  4. memcache 基础原理

    memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的.需要频繁访问数据库的网站访问速 ...

  5. SQL查询日历

    这东西给自己留着用. 经常会用到一些查询需要做全月统计,但有些时候的统计需要将未发生日期也显示出来,因此会需要一个固定的日期表,(T6的自定义查询估计也是需要的,至少以前是这样) 下面写两种方法来获取 ...

  6. Q-learning简明实例

    本文是对 http://mnemstudio.org/path-finding-q-learning-tutorial.htm 的翻译,共分两部分,第一部分为中文翻译,第二部分为英文原文.翻译时为方便 ...

  7. 关于 enhanced decompiler 3.0 .0不起作用的解决办法

  8. 04: 打开tornado源码剖析处理过程

    目录:Tornado其他篇 01: tornado基础篇 02: tornado进阶篇 03: 自定义异步非阻塞tornado框架 04: 打开tornado源码剖析处理过程 目录: 1.1 torn ...

  9. tf.multiply()和tf.matmul()区别

    (1)tf.multiply是点乘,即Returns x * y element-wise. (2)tf.matmul是矩阵乘法,即Multiplies matrix a by matrix b, p ...

  10. tomcat部署项目如何去掉项目名称

    去掉项目名和端口: 首先,进入tomcat的安装目录下的conf目录,我的目录是 /usr/local/apache-tomcat-6.0.20/conf,编辑文件server.xml. 1.去除端口 ...