《深入浅出SQL》读书笔记


学习《深入浅出SQL》,为了加深记忆,边读边做笔记。如有侵权,立即删除。

1.数据和表:保存所有东西的地方

什么是数据库

数据库是保存表和其他相关SQL结构的容器。 ### 数据库包含关联数据 数据库中所有的表应该能以某种方式相互关联。 是存储在表中的一列数据。行是一组能够描述某个事物的列的集合。列和行构成了表。 创建数据库和表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE DATABASE gregs_list;
USE gregs_list;
CREATE TABLE my_contacts
(
last_name VARBINARY(30),
first_name VARCHAR(20),
email VARCHAR(50),
gender CHAR(1),
birthday DATE,
profession VARCHAR(50),
location VARBINARY(50),
status VARCHAR(20),
interests VARBINARY(100),
seeking VARCHAR(100)
);

检查创建的数据库表

1
DESC my_contacts;

删除已经创建的表

1
DROP TABLE my_contacts;

NULL是未定义的值。它不等于零,也不等于空值。

2.SELECT语句:取得精美包装里的数据

单引号是特殊字符

在试着插入包含单引号的VARCHAR、CHAR、BLOB数据时,必须对RDBMS说明,这些数据值中的单引号并非表示文本的结束,而是文本的一部分,应该保留在行中。在单引号字符的前面加上反斜线就能达到说明的效果。

3.DELETE和UPDATE:改变是件好事

使用DELETE语句需要注意,当不加WHERE条件时,将删除表中的所有行。

1
DELETE FROM your_table;
除非你非常确定WHERE子句只会删除你打算删除的行,否则都应该用SELECT确认情况。这是一个确保不会意外删除所需数据的安全方式,而且也有助于选出所有要删除的记录。 ## 4.聪明的设计:为什么要规范化 ## 5.ALTER:改写历史 ## 6.SELECT进阶:以新视角看你的数据 ## 7.多张表的数据库设计:扩展你的表 ## 8.联接与多张表的操作:不能单独存在吗? ## 9.子查询:查询中的查询 ## 10.外联接、自联接与联合:新策略 ## 11.约束、视图与事务:人多手杂,数据库受不了 ## 12.安全性:保护你的资产