Task01: SQL基础:初识数据库与SQL-安装与基本介绍等

数据库与数据管理系统

本笔记为阿里云天池龙珠计划SQL训练营的学习内容

数据库

数据库是数据集合的一个仓库,方便统一管理与使用。
数据库分为关系型数据库与非关系型数据库。
关系型数据库最为常见,本人现阶段学习的内容就是关系型数据库的sql语法。

DBMS:数据库管理系统

数据库管理系统,顾名思义,用来管理数据库的系统。
常见的RDBMS(relation database manager system)有以下几种:

  • oracle database(甲骨文)
  • sql server(微软)
  • mysql
  • DB2

数据库安装

以mysql为例

  1. 阿里云mysql服务器教程
  2. 本地mysql教程

1.1 到阿里云mysql服务器购买
1.2 到控制台配置用户
1.3 登陆管理,界面如下,详细教程查看阿里云相关文档

2.1 官网下载mysql,下载地址
在这里插入图片描述
2.2 安装教程,自行百度,现在下载的版本和以前安装方式有变,最好找最新的安装教程。

SQL 基本概况

主要语法
  • DDL:数据定义语言
  • DML:数据管理语言
  • DCL:数据控制语言

DDL:create,alter,drop…
DML:select,insert,update,delete
DCL:commit,rollback,grant,revoke

书写规则
  • SQL语句要以分号( ; )结尾
  • SQL 不区分关键字的大小写,但是插入到表中的数据是区分大小写的
  • win系统默认不区分表名及字段名的大小写
  • linux / mac 默认严格区分表名及字段名的大小写
创建数据库 create
CREATE DATABASE shop; # 创建shop数据库
创建表create
DROP TABLE IF EXISTS product_1;
CREATE TABLE product_1(
	product_id char(4) NOT NULL,
	product_name VARCHAR(100) NOT NULL,
	product_type VARCHAR(32) NOT NULL,
	sale_price INT,
	purchase_price INT,
	regist_date DATE,
	PRIMARY KEY(product_id)
	);
删除表
DROP TABLE product_1
添加列
ALTER TABLE product_1 ADD COLUMN product_name_pinyin VARCHAR(100);
删除列
ALTER TABLE product_1 DROP COLUMN product_name_pinyin;
清空表
TRUNCATE TABLE product_1;

truncate和drop的区别是,truncate只删除内容,保留表结构,即保留表名字段名索引等表结构,而drop是完完全全将表删除掉.

更新
UPDATE product_1
   SET sale_price = sale_price * 10,
       purchase_price = purchase_price / 2
 WHERE product_type = '厨房用具'; 
插入

部分字段插入

INSERT INTO product_1(product_id,product_name,product_type)
VALUES('0005','高压锅','厨房用具');

全字段插入

INSERT INTO product_1
VALUES('0005','高压锅','厨房用具',6800,5000,'2009-01-15');

多行插入

INSERT INTO product_1 VALUES ('0002', '打孔器', 
'办公用品', 500, 320, '2009-09-11'),
('0003', '运动T恤', '衣服', 4000, 2800, NULL),
('0004', '菜刀','厨房用具', 3000, 2800, '2009-09-20');

实战

3.1

在这里插入图片描述

DROP TABLE IF EXISTS 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

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

列名 : postal_code

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

约束 :不能为 NULL

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

编写 SQL 语句来删除 Addressbook 表。

TRUNCATE TABLE Addressbook
3.4

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

解析:删除掉的表无法恢复,只能通过重写语句.
3.1语句+3.2字段

DROP TABLE IF EXISTS 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),
	postal_code  CHAR(8)      NOT NULL,
	PRIMARY KEY(regist_no));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值