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. CATiledLayer

    CATiledLayer 有些时候你可能需要绘制一个很大的图片,常见的例子就是一个高像素的照片或者是地球表面的详细地图.iOS应用通畅运行在内存受限的设备上,所以读取整个图片到内存中是不明智的.载入大 ...

  2. android实操--练习2

    练习2是实现一个计算器的功能:可以加减乘除:可以倒退,可以清空文本. 下面是效果展示: -----------------------布局------------------------------- ...

  3. linux服务器---配置samba

    配置samba使用用户名和密码登录 1.当samba配置文件中的secure设置为user的时候,需要正确的用户名和密码才能登录. root@localhost /]#gedit /etc/samba ...

  4. Java 问卷调查

    对于我的未来,我打算现在学校好好学习专业知识,打下牢固的知识基础,为以后在工作岗位上能够顺利完成任务而努力. 在我看来,学习是一个接触并了解新事物的过程,掌握和应用这些新知识就是学习的目的.然而我们学 ...

  5. 20145322 Exp5 MS11_050

    20145322 Exp5 MS11_050 实验过程 msfconsole命令进入控制台 使用命令search ms11_050查看针对MS11_050漏洞的攻击模块 使用命令 use exploi ...

  6. SQL Server @@参数一览表

    --返回 SQL Server 自上次启动以来尝试的连接数,无论连接是成功还是失败. SELECT @@CONNECTIONS AS CONNECTIONS --返回 SQL Server 自上次启动 ...

  7. mbr看图

  8. jquery hover最后解决 - 不再疑惑 - 例子在这里

    hover具有动画累计的bug, 可以使用 stop 或 filter(:not(:animated))来消除, 但是, 即使这样, 当鼠标反复滑入或滑出的时候, 虽然没有动画累计的问题, 但是 下面 ...

  9. fhq treap抄袭笔记

    目录 碎碎念 点一下 注意!!! 模板 fhq treap 碎碎念 我咋感觉合并这么像左偏树呢 ps:难道你们的treap都是小头堆的吗 fhq真的是神人 现在看以前学的splay是有点恶心,尤其是压 ...

  10. mysql链接 显示 error: 'Access denied for user 'root'@'localhost' (using password: NO)'

    解决方案 https://stackoverflow.com/questions/2995054/access-denied-for-user-rootlocalhost-using-password ...