学习笔记与练习 | SQL入门(一)

初识数据库

数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。该数据集合称为数据库(Database,DB)。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。
我们学习的主要是关系数据库管理即RDBMS(R指Rational),最常见的系统结构就是客户端 / 服务器类型(C/S类型)

初识SQL

DDL(Data Definition Language,数据定义语言)

操作对象:库和表

1.CREATE : 创建数据库和表等对象

 注意区分CHAR 型和VARCHAR 型;
 PRIMARY KEY是主键约束,代表该列是唯一值,可以通过该列取出特定的行的数据。
 可以设置默认值如default 0

2.DROP : 删除数据库和表等对象
3.ALTER : 修改数据库和表等对象的结构

 不可逆,删除后需要重新建立
 ALTER TABLE 语句和 DROP TABLE 语句
 快速清除表内容:相比drop和delete,truncate用来清除数据时,速度最快。

DML(Data Manipulation Language,数据操纵语言)

操作对象:数据
1.UPDATE : 更新数据

UPDATE product
   SET sale_price = sale_price * 10,
       purchase_price = purchase_price / 2
 WHERE product_type = '厨房用具';  

2.INSERT : 插入数据

-- 包含列清单
INSERT INTO ProductIns (product_id, product_name, product_type, 
sale_price, purchase_price, regist_date) 
VALUES ('0005', '高压锅', 
'厨房用具', 6800, 5000, '2009-01-15');
-- 省略列清单
INSERT INTO ProductIns 
VALUES ('0005', '高压锅', '厨房用具', 6800, 5000, '2009-01-15');  

复制其他表格来插入:

INSERT INTO ProductCopy (product_id, product_name, product_type, sale_price, purchase_price, regist_date)
SELECT product_id, product_name, product_type, sale_price, 
purchase_price, regist_date
FROM Product;  

DCL(Data Control Language,数据控制语言)

COMMIT : 确认对数据库中的数据进行的变更

ROLLBACK : 取消对数据库中的数据进行的变更

GRANT : 赋予用户操作权限

REVOKE : 取消用户的操作权限

- DML :插入数据,COMMIT的例子
STARTTRANSACTION;
INSERT INTO product VALUES('0007', '擦菜板', '厨房用具', 880, 790, '2008-04-28');
INSERT INTO product VALUES('0008', '圆珠笔', '办公用品', 100, NULL, '2009-11-11');
COMMIT;

练习1~4

建表

编写一条 CREATE TABLE 语句,用来创建一个包含表 1-A 中所列各项的表 Addressbook (地址簿),并为 regist_no (注册编号)列设置主键约束

CREATE TABLE Addressbook
(regist_no INTEGER NOT NULL,
 na_me VARCHAR(128) NOT NULL,
 address VARCHAR(256) NOT NULL,
 tel_no CHAR(10),
 mail_address CHAR(20),
 PRIMARY KEY (regist_no));

添加列

假设在创建练习1.1中的 Addressbook 表时忘记添加如下一列 postal_code (邮政编码)了,请把此列添加到 Addressbook 表中。
列名 : postal_code
数据类型 :定长字符串类型(长度为 8)
约束 :不能为 NULL

ALTER TABLE Addressbook ADD COLUMN postal_code CHAR(8) NOT NULL;

删表

 DROP TABLE Addressbook;

恢复删掉的表

删除不可逆,只能重新建表,注意和第一步不一样,要添加多一列

CREATE TABLE Addressbook
(regist_no INTEGER NOT NULL,
 na_me VARCHAR(128) NOT NULL,
 address VARCHAR(256) NOT NULL,
 tel_no CHAR(10),
 mail_address CHAR(20),
 postal_code CHAR(8) NOT NULLPRIMARY KEY (regist_no));
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值