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. Fiddler过滤指定域名

    Fiddler过滤指定域名的方法一 切换到fiddler右侧窗口的Filters选项卡,勾选顶部的“Use Filters”,找到Hosts区域,设置以下三个选项: 1.第一项有三个选项,不做更改: ...

  2. windows脚本的if语句

  3. MFC工具栏的创建、设计与使用实例

    本文通过实例说明MFC工具栏的创建.设计和使用方法,包括三个demo.       demo1:创建一个工具栏 C++代码 //摘抄自MSDN demo1 (创建一个工具栏) 1.Create a t ...

  4. Linux基础命令---e2fsck

    ex2fsck 检查ext2.ext3.ext4文件系统,如果系统已经挂载了,那么不建议去检查,因为这样是不安全的.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.op ...

  5. nodepad++ 标签栏无法拖放标签

    nodepad++ 标签栏无法拖放标签设置--首选项--常用--标签栏--锁定(不允许拖放) 去掉这个勾 ps:最近版本的不知道为什么这个设置不生效了,没找到原因,可能是bug,只能等待升级解决了(升 ...

  6. 又一国产855旗舰突然现身:支持5G

    12月28日消息,中国联通官方微博放出了vivo NEX 5G版样机.如图所示,该机搭载骁龙855移动平台及X50 5G调制解调器. 早在8月30日,vivo就宣布完成了面向商用5G智能手机的软硬件开 ...

  7. web前端----JavaScript对象

    简介: 在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String.Math.Array.Date.RegExp都是Jav ...

  8. bzoj1658: [Usaco2006 Mar]Water Slides 滑水

    Description It's a hot summer day, and Farmer John is letting Betsy go to the water park where she i ...

  9. git和github的简单配合使用

    1.安装git,TortoiseGit. 2.用帐号A登陆github,建立一个版本仓库test1.用默认值创建就可以了. 3.在本机用TortoiseGit克隆仓库test1.直接选https开头的 ...

  10. WordPress REST API 内容注入漏洞

    1 WordPress REST API 内容注入漏洞 1.1 摘要 1.1.1 漏洞介绍 WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统.在4.7.0版本后,R ...