天池龙珠计划sql学习笔记 task1

SQL的安装

在本地安装了mysql8.0环境,使用sqlyog进行连接

sql语句分类

1.DDL

DDL(Data Definition Language,数据定义语言) 用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令。

①CREAT 创建数据库和表等对象

②DROP 删除数据库和表等对象

③ALTER 修改数据库和表等对象的结构

2.DML

DML(Data Manipulation Language,数据操纵语言) 用来查询或者变更表中的记录。DML 包含以下几种指令。

①SELECT 查询表中的数据

②INSERT 向表中插入新数据

③UPDATE 更新表中的数据

④DELETE 删除表中的数据

3.DCL

DCL(Data Control Language,数据控制语言) 用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。DCL 包含以下几种指令。

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

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

③GRANT 赋予用户操作权限

④REVOKE 取消用户的操作权限

SQL的基本书写规则

①SQL语句要用‘;’结尾

②SQl不区分关键字的大小写,但是表中的数据需要区分大小写

③win系统默认不区分表明和字段名的大小写

④linux/mac系统严格区分表名和字段名大小写

⑤只能用半角英文字母,数字,下划线作为数据库,表和列的名称

⑥数据类型:INTEGER(数字型)CHAR(定长字符串,未达到最大长度时用空格补足)VARCHAR(变长字符串)DATE(日期)

一些语法记录

ALTER TABLE和DROP TABLE语句一样执行后无法恢复。

在已有的表中添加列

ALTER TABLE <表名> add column <列名及其定义>

使用TRUNCATE来清除数据时是最快的

对已存在表的数据进行更新

UPDATE <表名>
SET <列名> = <表达式> [, <列名2>=<表达式2>...];  
WHERE <条件>;  -- 可选,非常重要。
ORDER BY 子句;  --可选
LIMIT 子句; --可选

在使用update时要添加where条件,不然会对所选列所有行数据进行更新

UPDATE和INSERT语句一样,可以把NULL当成一个值来使用,但必须未设置非空约束和主键约束。

INSERT插入数据的基本语法

INSERT INTO <表名> (列1, 列2, 列3, ……) VALUES (值1, 值2, 值3, ……); 

在插入null值时可以再VALUES清单中写入null

使用INSERT...SELECT可以从其他表复制数据

INSERT INTO 表名(列名)select 数据 FROM 来源表

练习题

3.1

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

表1-A 表 Addressbook (地址簿)中的列

 

CREATE table Addressbook(
     regist_no    int          not null,
     name         VARCHAR(128) not null,
     address      VARCHAR(256) not null,
     tel_no       CHAR(10),
     mail_address CHAR(20),
     PRIMARY KEY (regist_no)
)

3.2

假设在创建练习1.1中的 Addressbook 表时忘记添加如下一列 postal_code (邮政编码)了,请把此列添加到 Addressbook 表中。

列名 : postal_code

数据类型 :定长字符串类型(长度为 8)

约束 :不能为 NULL

ALTER TABLE Addressbook ADD COLUMN (postal_code char(8) not null)

3.3 

编写 SQL 语句来删除 Addressbook 表

DROP TABLE Addressbook;

3.4

编写 SQL 语句来恢复删除掉的 Addressbook 表。

使用drop语句删除的表无法恢复,只能重建。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值