【SQL学习笔记】

写在开头

本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql。

数据库概述

Mysql是使用最广泛的关系数据库管理软件,因此本次学习需要先安装MySQL软件。
数据库中存储的表结构类似于excel中的行和列,在数据库中,行称为记录,它相当于一条记录,列称为字段,它代表了表中存储的数据项目。

SQL语句分类

SQL是为操作数据库而开发的语言,根据对 RDBMS 赋予的指令种类的不同,SQL 语句可以分为以下三类:

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

    • CREATE : 创建数据库和表等对象
    • DROP : 删除数据库和表等对象
    • ALTER : 修改数据库和表等对象的结构
  • DML, Data Manipulation Language,数据操纵语言。 用来查询或者变更表中的记录。DML 包含以下几种指令:

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

    • COMMIT : 确认对数据库中的数据进行的变更
    • ROLLBACK : 取消对数据库中的数据进行的变更
    • GRANT : 赋予用户操作权限
    • REVOKE : 取消用户的操作权限

实际使用的 SQL 语句当中有 90% 属于 DML

SQL书写规则

  • SQL语句要以分号结尾
  • SQL不区分关键字的大小写,但是插入到表中的数据是区分的
  • 单词间需使用半角空格或换行符来进行分隔

SQL语句

创建数据库/表

  1. 创建数据库
    create database 数据库名;

  2. 创建表
    create table 表名
    (列名1 数据类型 列约束,
    列名2 数据类型 列约束,

    表约束1,表约束2,…);

  3. 删除表
    drop table 表名
    删除后无法恢复,只能重新插入

  4. 添加列
    alter table 表名 add column 列定义

  5. 删除列
    alter table 表名 drop column 列名
    alter删除后同样无法恢复

  6. 清空表内容
    truncate table 表名
    truncate只清楚数据,不删除表结构,drop和delete会把整个表删掉

  7. 数据更新
    update 表名 set 列名=某个值
    可以使用where语句只对该列部分值做出改变

  8. 插入数据
    insert into 表名 (列1,列2,列4,…)values
    (值1,值2,值4,…),
    (值1,值2,值4,…);

  9. 命名规则

  • 只能使用半角英文字母、数字、下划线作为库/表/列的名称
  • 名称必须以半角英文字母开头

数据类型

  • INTEGER,整数型
  • CHAR,固定长度字符,字符串长度不足时,使用半角空格补足
  • VARCHAR,可变长度字符
  • DATE,日期
    0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center)

练习题

– 3.1 创建表
create table Addressbook
(regist_no int not null primary key,
name varchar(128) not null,
address varchar(256) not null,
tel_no char(10),
mail_address char(20));
– 3.2 增加一列
alter table addressbook add column postal_code char(8) not null;
– 3.3 删除表
drop table addressbook;
– 3.4 删除后无法恢复,需重新创建
create table Addressbook
(regist_no int not null primary key,
name varchar(128) not null,
address varchar(256) not null,
tel_no char(10),
mail_address char(20),
postal_code char(8) not null);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值