sql复习

一、数据库系统概述

1.数据库(DB)是一种专门存储信息和维护信息的容器,严格地说数据库是“按照数据结构来组织、存储和管理信息的仓库”。

2.数据库管理系统,管理数据库的软件。具有对数据存储、安全、一致性、并发操作、恢复和访问等功能。

数据词典(系统目录),也是一种数据,只不过这些数据记录的是数据库中存放的各种对象的定义信息和其他一些辅助管理信息,包括名字、结构、位置、类型等。这些数据被称为元数据。

二、数据管理主要经历过程

1.手工管理阶段

2.文件管理阶段

3.数据管理阶段

三、数据库的特征

1.数据结构化

2.实现数据共享

3.减少数据冗余

4.数据独立性

四、数据库的类型

1.网状型数据

2.层次数据库

3.关系型数据库:关系数据库是指一些相关的表和其他数据库对象的集合。

•PRIMARY KEY,指定字段为主键。

•AUTO_INCREMENT,指定字段为自动增加字段。

•INDEX,为字段创建索引。

•NOT NULL,字段值不允许为空。

•NULL,字段值可以为空。

•COMMENT,设置字段的注释信息。

•DEFAULT,设置字段的默认值。

•可以使用ALTER

TABLE语句修改表的结构,包括添加列、修改列属性和删除列等操作。

对表的操作

•ALTER

TABLE 表名 ADD列名 数据类型和长度 列属性

•ALTER

TABLE 表名 MODIFY列名 新数据类型和长度 新列属性

•ALTER

TABLE 表名 DROP

COLUMN 列名

修改表:

•使用ALTER

TABLE语句向表中添加列的基本语法如下:

[if ppt]•[endif]

   ALTER TABLE表名 ADD 列名

数据类型和长度 列属性

•使用ALTER

TABLE语句在表Emp中增加一列,列名为Tele,数据类型为varchar,长度为50,列属性为允许空,具体语句如下:

[if ppt]•[endif]

   ALTER TABLEEmp ADD Tele VARCHAR(50) NULL

•使用ALTER

TABLE语句修改列属性的基本语法如下:

[if ppt]•[endif]

  ALTER TABLE表名 MODIFY 列名

新数据类型和长度 新列属性

•使用ALTER

TABLE语句在表Emp中修改Tele列的属性,将数据类型为CHAR,长度为50,列属性为允许空。具体语句如下:


ALTER TABLE Emp MODIFY Tele CHAR(50) NULL

•使用ALTER

TABLE语句删除列的基本语法如下:

ALTER TABLE 表名 DROP COLUMN 列名

•使用ALTER

TABLE语句在表Emp中删除Tele列。具体语句如下:

ALTER TABLE Emp DROP COLUMN Tele

•事务(Transaction)概念

事务:也称工作单元,是由一个或多个SQL语句所组成的操作序列,这些SQL语句作为一个完整的工作单元,要么全部执行成功,要么全部执行失败。在数据库中,通过事务来保证数据的一致性

•事务特征可用四个字母的缩写表示:即ACID

1.原子性

2.一致性

3.隔离性

4.持久性

MySQL的事务处理主要有两种方法

1.用begin,rollback,commit来实现

begin开始一个事务

rollback事务回滚

commit 事务提交

2.直接用set来改变MySQL的自动提交模式

MySQL默认是自动提交的,也就是你提交一个sql,就直接执行!可以通过

set autocommit = 0 禁止自动提交

set autocommit = 1 开启自动提交

–结构化查询语言可分为5类:

1.数据查询语言

2.数据操作语言

3.事务处理语言

4.数据控制语言

5.数据定义语言

字符串函数:

•CHAR_LENGTH(str):返回字符串str的所包含字符个数;

•LENGTH(str):返回字符串str的长度;

•CONCAT(s1,s2,...): 字符串连接;

•CONCAT_WS(x,s1,s2,…):字符串连接, x是其它参数的分隔符;

•INSERT(s1,x,len,s2) :返回字符串s1,s1中插入字符串s2;

•LOWER (str)|LCASE (str):将字符串全部转换成小写字母;

•UPPER(str)|UCASE(str):将字符串全部转换成大写字母;

•LEFT(s,n):返回最左边指定长度的字符;

•RIGHT(s,n):返回最右边指定长度的字符;

•LPAD(s1,len,s2)| RPAD(s1,len,s2) :填充字符串函数;

•TRIM(s1 FROM s)|LTRIM(s)|RTRIM(s):删除空格函数;

•REPEAT(s,n):重复生成字符串函数;

•SPACE(n):返回一个由n个空格组成的字符串;

•REPLACE(s,s1,s2):字符串替换函数;

•STRCMP(s1,s2):比较字符串大小函数;

•SUBSTRING(s,n,len):获取子串函数;

•LOCATE(str1,str)|POSITION(str1

IN str)|INSTR(str, str1):匹配子串开始位置函数;

•REVERSE(s):将字符串s反转;

•ELT(N,字符串1,字符串2,字符串3,…):返回指定位置函数;

日期和时间函数:

•CURDATE()和CURRENT_DATE():获取当前日期函数;

•NOW():返回服务器的当前日期和时间;

•CURTIME():返回当前时间,只包含时分秒;

流程控制语句:
1.IF(expr1,expr2,expr3)

–如果 expr1 是TRUE

(expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。

–IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

2.IFNULL(expr1,expr2)|NULLIF(expr1,expr2)

–假如expr1 不为NULL ,则IFNULL() 的返回值为expr1 ; 否则其返回值为expr2 。

表之间的关联:一对一、一对多、多对多。

1.分组函数

•MIN

•MAX

•SUM

•AVG

•COUNT

•ANY的使用

–ANY:表示和子查询的任意一行结果进行比较,有一个满足条件即可。

•< ANY:表示小于子查询结果集中的任意一个,即小于最大值就可以。

[if ppt]•[endif]

•> ANY:表示大于子查询结果集中的任意一个,即大于最小值就可以。

[if ppt]•[endif]

•= ANY:表示等于子查询结果中的任意一个,即等于谁都可以,相当于IN。

•ALL的使用

–ALL:表示和子查询的所有行结果进行比较,每一行必须都满足条件。

•< ALL:表示小于子查询结果集中的所有行,即小于最小值。

[if ppt]•[endif]

•> ALL:表示大于子查询结果集中的所有行,即大于最大值。

[if ppt]•[endif]

•= ALL :表示等于子查询结果集中的所有行,即等于所有值,通常无意义。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容

  • 常用的服务型数据库Oracle、MySQL、postgresql等等都是关系型数据库,文档型数据库SQLite是用...
    蘑菇小巷阅读 1,329评论 0 1
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,156评论 0 9
  • 数据库基础 DB:专门存储和维护信息的容器(软件)数据库管理系统:管理数据库的软件。具有存储、安全、一致性、并发 ...
    _NineSun旭_阅读 340评论 0 1
  • 东西学了不用真是看完就忘 有空要多练习才行 老忘好浪费 基本: select:获取数据 select A from...
    ICY小姐阅读 161评论 0 0
  • 在前两篇中介绍了UILabel、UIControl、UIButton和UITextField,在本篇文章中会介绍一...
    大脸猫121阅读 2,586评论 3 9