SQL笔记
weixin_46722612
这个作者很懒,什么都没留下…
展开
-
SQL笔记(14)——事务
数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。详情参见:https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BA%8B%E5%8A%A1/9744607Read UncommittedRead Uncommitted是隔离级别最低的一种事务级别。在这种隔离级别下,一个事务会读到另原创 2020-11-16 19:22:13 · 146 阅读 · 0 评论 -
SQL笔记(13)——实用SQL语句
插入或替换如果我们希望插入一条新记录(INSERT),但如果记录已经存在,就先删除原记录,再插入新记录。此时,可以使用REPLACE语句,这样就不必先查询,再决定是否先删除再插入:REPLACE INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99);若id=1的记录不存在,REPLACE语句将插入新记录,否则,当前id=1的记录将被删除,然后再插入新记录。插入或更新如果我们希望插入一条新记录(原创 2020-11-16 16:21:37 · 210 阅读 · 0 评论 -
SQL笔记(12)——管理MySql
数据库1.进入mysql在 mysql 路径下,输入“mysql -uroot -p”后,输入密码。2.列出所有数据库SHOW DATABASES;其中,information_schema、mysql、performance_schema和sys是系统库,不要去改动它们。其他的是用户创建的数据库。3.创建一个新数据库CREATE DATABASE test;4.删除一个数据库DROP DATABASE test;注意:删除一个数据库将导致该数据库的所有表全部被删除5 切换为当原创 2020-11-16 15:59:50 · 46 阅读 · 0 评论 -
SQL笔记(10)——查询数据(4)
连接查询连接查询是另一种类型的多表查询。连接查询对多个表进行JOIN运算,简单地说,就是先确定一个主表作为结果集,然后,把其他表的行有选择性地“连接”在主表结果集上。(1) 例如,我们想要选出students表的所有学生信息,可以用一条简单的SELECT语句完成SELECT s.id, s.name, s.class_id, s.gender, s.score FROM students s;(2) 但是,假设我们希望结果集同时包含所在班级的名称,上面的结果集只有class_id列,缺少对应班级的原创 2020-11-16 00:08:48 · 72 阅读 · 0 评论 -
SQL笔记(9)——查询数据(3)
1.聚合查询(1)使用SQL内置的 COUNT() 函数查询:SELECT COUNT(*) FROM students;COUNT*表示查询所有列的行数,要注意聚合的计算结果虽然是一个数字,但查询的结果仍然是一个二维表,只是这个二维表只有一行一列,并且列名是 COUNT *。通常,使用聚合查询时,我们应该给列名设置一个别名,便于处理结果。(2)COUNT(*)和COUNT(id)实际上是一样的效果。另外注意,聚合查询同样可以使用WHERE条件,因此我们可以方便地统计出有多少男生、多少女生、多少原创 2020-11-16 00:08:25 · 214 阅读 · 0 评论 -
SQL笔记(11)——修改数据
1.INSERT向数据库表中插入一条新记录基本语法:INSERT INTO <表名> (字段1, 字段2, ...) VALUES (值1, 值2, ...);(1) 向students表插入一条新记录,先列举出需要插入的字段名称,然后在VALUES子句中依次写出对应字段的值:INSERT INTO students (class_id, name, gender, score) VALUES (2, '大牛', 'M', 80);-- 查询并观察结果:SELECT * FROM原创 2020-11-16 00:07:22 · 159 阅读 · 0 评论 -
SQL笔记(8)——查询数据(2)
1.投影查询如果我们只希望返回某些列的数据,而不是所有列的数据,我们可以用SELECT 列1, 列2, 列3 FROM …,让结果集仅包含指定列。这种操作称为投影查询。(1)例如,从students表中返回id、score和name这三列:SELECT id, score, name FROM students;(2)使用SELECT 列1, 列2, 列3 FROM …时,还可以给每一列起个别名,这样,结果集的列名就可以与原表的列名不同。它的语法是SELECT 列1 别名1, 列2 别名2, 列3原创 2020-11-16 00:08:03 · 93 阅读 · 0 评论 -
SQL笔记(7)——查询数据(1)
1.基本查询查询数据库表的数据,我们使用如下的SQL语句:SELECT * FROM <表名>使用 SELECT * FROM students 时,SELECT是关键字,表示将要执行一个查询,*表示“所有列”,FROM表示将要从哪个表查询,本例中是students表。该SQL将查询出students表的所有数据。注意:查询结果也是一个二维表,它包含列名和每一行的数据。不带FROM子句的SELECT语句有一个有用的用途,就是用来判断当前到数据库的连接是否有效。许多检测工具会执行一条S原创 2020-11-15 19:37:07 · 169 阅读 · 0 评论 -
SQL笔记(6)——在线SQL编辑练习
https://www.liaoxuefeng.com/wiki/1177760294764384/1179611432985088转载 2020-11-15 15:25:40 · 67 阅读 · 0 评论 -
SQL笔记(5)——关系模型(3)索引
1.索引在关系数据库中,如果有上万甚至上亿条记录,在查找记录的时候,想要获得非常快的速度,就需要使用索引。索引是关系数据库中对某一列或多个列的值进行预排序的数据结构。通过使用索引,可以让数据库系统不必扫描整个表,而是直接定位到符合条件的记录,这样就大大加快了查询速度。例如,对于students表:如果要经常根据score列进行查询,就可以对score列创建索引:ALTER TABLE studentsADD INDEX idx_score (score);使用ADD INDEX idx_s原创 2020-11-15 15:20:04 · 227 阅读 · 0 评论 -
SQL笔记(4)——关系模型(2)外键
外键由于一个班级可以有多个学生,在关系模型中,这两个表的关系可以称为“一对多”,即一个classes的记录可以对应多个students表的记录。为了表达这种一对多的关系,我们需要在students表中加入一列class_id,让它的值与classes表的某条记录相对应:这样,我们就可以根据class_id这个列直接定位出一个students表的记录应该对应到classes的哪条记录在students表中,通过class_id的字段,可以把数据与另一张表关联起来,这种列称为外键。外键并不是通过列名原创 2020-11-15 15:00:09 · 1167 阅读 · 0 评论 -
SQL笔记(3)——关系模型(1)主键
我们已经知道,关系数据库是建立在关系模型上的。而关系模型本质上就是若干个存储数据的二维表,可以把它们看作很多Excel表。表的每一行称为记录(Record),记录是一个逻辑意义上的数据。表的每一列称为字段(Column),同一个表的每一行记录都拥有相同的若干字段。字段定义了数据类型(整型、浮点型、字符串、日期等),以及是否允许为NULL。注意NULL表示字段数据不存在。一个整型字段如果为NULL不表示它的值为0,同样的,一个字符串型字段为NULL也不表示它的值为空串’’。通常情况下,字段应该避免允原创 2020-11-15 11:42:45 · 1292 阅读 · 0 评论 -
SQL笔记(2)——MySql安装
转载自https://blog.csdn.net/qq_37350706/article/details/81707862?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160532239019724842929374%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=160532239019724842929374&biz_id=转载 2020-11-15 11:04:43 · 100 阅读 · 0 评论 -
SQL笔记(1)——关系数据库概述
1.数据模型层次模型网状模型关系模型(最常用)层次模型就是以“上下级”的层次关系来组织数据的一种方式,层次模型的数据结构看起来就像一颗树:网状模型把每个数据节点和其他很多节点都连接起来,它的数据结构看起来就像很多城市之间的路网:关系模型把数据看作是一个二维表格,任何数据都可以通过行号+列号来唯一确定,它的数据模型看起来就是一个Excel表:2.数据类型对于一个关系表,除了定义每一列的名称外,还需要定义每一列的数据类型。关系数据库支持的标准数据类型包括数值、字符串、时间等:上面的原创 2020-11-15 10:04:39 · 185 阅读 · 0 评论