文章目录
表的操作,是以一条记录为基本单位
增、删只能以一条记录为基本单位
DBMS查询、检索 背后的原理是关系代数
创建学生表
-- 创建一张学生表
CREATE TABLE students(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
sn INT NOT NULL UNIQUE COMMENT '学号',
name VARCHAR(45) NOT NULL,
email VARCHAR(200) NULL
);
一、插入(Insert)
-- 数据的插入(Insert/Create)
-- INSERT 操作的基本格式students
-- 一次插入一行,
-- 表名称:
-- 全名称: `库名`.`表名`
-- 库名和表名没有歧义的情况下: 库名.表名
-- 指定了默认库的情况下: 表名 遗憾着是 默认库.表名
-- 一次插入一行,并且插入的数据中包含 (id、sn、name、email) 所有的字段的数据
-- 由于插入的是全字段,所以 SQL 中可以省略字段部分
-- 后边跟要插入的值,值的顺序必须和表结构中的顺序一致
-- id、sn、name、email
INSERT INTO students VALUES(100,1000,'唐三藏',NULL);
-- 由于我们的 id 是主键、sn 是唯一键,所以这两个字段的值不能出现重复
INSERT INTO students VALUES(101,1001,'孙悟空',NULL);
-- 一次插入一行,指定列插入,要求,没有默认值的字段,必须有值
-- id(自增,视为有默认值)
-- sn(没有默认值)
-- name(没有默认值)
-- email(允许为 Null,视为有默认值,就是 Null)
-- 所以 sn、name 字段必须在插入时有值
INSERT INTO students(sn,name) VALUES(20002,'鹿角大仙');
-- 指定字段的顺序,没有要求,不要求和建表的顺序有关系
-- 字段的顺序 和 传入的值的顺序一致即可
INSERT INTO students(name,sn) VALUES('牛角大仙',20003);
-- 多行插入
-- 多行 + 全字段
INSERT INTO students VALUES
(204,30001,'贾宝玉','JBY@QQ.COM'), -- 一条记录
(205,30002,'林黛玉',NULL), -- 一条记录
(206,30003,'薛宝钗',NULL); -- 一条记录
-- 多行 + 指定字段
INSERT INTO students (sn, name, email) VALUES
(40001, '宋江', 'sj@qq.com'),
(40002, '扈三娘', 'hsn@qq.com'),
(40003, '王英', NULL),
(40004, '武松', NULL);
二、查询(Select/Retrieve)
观察SELECT 的基本模式
SELECT
id,name