阿里云天池龙珠计划SQL训练营(一)
目录
数据库安装
初识 SQL
SQL的基本书写规则
数据库的创建
表的创建( CREATE TABLE 语句)
数据类型
表的删除和更新
数据库安装
- 阿里云MySQL服务器使用介绍
- 节约篇幅,具体相关介绍以及给大家写到pdf里了,大家点击链接即可进入查看:
- http://tianchi-media.oss-cn-beijing.aliyuncs.com/dragonball/SQL/other/阿里云MySQL服务器使用介绍.pdf
- 本地MySQL环境搭建方法介绍
- 节约篇幅,具体相关介绍以及给大家写到pdf里了,大家点击链接即可进入查看:
- http://tianchi-media.oss-cn-beijing.aliyuncs.com/dragonball/SQL/other/本地MySQL环境搭建方法介绍.pdf
初识 SQL
- 数据库中存储的表结构类似于excel中的行和列,在数据库中,行称为记录,它相当于一条记录,列称为字段,它代表了表中存储的数据项目。SQL是为操作数据库而开发的语言。国际标准化组织(ISO)为 SQL 制定了相应的标准,以此为基准的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的基本书写规则
- SQL语句要以分号( ; )结尾
- SQL 不区分关键字的大小写,但是插入到表中的数据是区分大小写的
- win 系统默认不区分表名及字段名的大小写
- linux / mac 默认严格区分表名及字段名的大小写
- 本教程已统一调整表名及字段名的为小写,以方便初学者学习使用。
- 常数的书写方式是固定的,具体的书写原则请看书写原则
数据库的创建
CREATE DATABASE < 数据库名称 > ;
如:CREATE DATABASE shop;
表的创建( CREATE TABLE 语句)
CREATE TABLE < 表名 >
( < 列名 1> < 数据类型 > < 该列所需约束 > ,< 列名 2> < 数据类型 > < 该列所需约束 > ,< 列名 3> < 数据类型 > < 该列所需约束 > ,< 列名 4> < 数据类型 > < 该列所需约束 > ,...< 该表的约束 1> , < 该表的约束 2> ,……);
CREATE TABLE product(product_id CHAR(4) NOT NULL, product_name VARCHAR(100) NOT NULL, product_type VARCHAR(32) NOT NULL, sale_price INTEGER, purchase_price INTEGER, regist_date DATE, PRIMARY KEY(product_id)) ;
数据类型
- 数据库创建的表,所有的列都必须指定数据类型,每一列都不能存储与该列数据类型不符的数据。
- 四种最基本的数据类型
- INTEGER 型:用来指定存储整数的列的数据类型(数字型),不能存储小数。
- CHAR 型:用来存储定长字符串,当列中存储的字符串长度达不到最大长度的时候,使用半角空格进行补足,由于会浪费存储空间,所以一般不使用。
- VARCHAR 型:用来存储可变长度字符串,定长字符串在字符数未达到最大长度时会用半角空格补足,但可变长字符串不同,即使字符数未达到最大长度,也不会用半角空格补足。
- DATE 型:用来指定存储日期(年月日)的列的数据类型(日期型)。
表的删除和更新
DROP TABLE < 表名 > ;
DROP TABLE product;
添加列的 ALTER TABLE 语句
ALTER TABLE < 表名 > ADD COLUMN < 列的定义 >;
添加一列可以存储100位的可变长字符串的 product_name_pinyin 列
ALTER TABLE product ADD COLUMN product_name_pinyin VARCHAR(100);
删除列的 ALTER TABLE 语句
ALTER TABLE < 表名 > DROP COLUMN < 列名 >;
删除 product_name_pinyin 列
ALTER TABLE product DROP COLUMN product_name_pinyin;
清空表内容
TRUNCATE TABLE TABLE_NAME;
插入数据 insert into
INSERT 语句中想给某一列赋予 NULL 值时,可以直接在 VALUES子句的值清单中写入 NULL。想要插入 NULL 的列一定不能设置 NOT NULL 约束。
INSERT INTO <表名> (列1, 列2, 列3, ……) VALUES (值1, 值2, 值3, ……);
#对表进行全列 INSERT 时,可以省略表名后的列清单。这时 VALUES子句的值会默认按照从左到右的顺序赋给每一列。
-- 包含列清单
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 语句会插入一行数据。插入多行时,通常需要循环执行相应次数的 INSERT 语句。
1、编写一条 CREATE TABLE 语句,用来创建一个包含表 1-A 中所列各项的表 Addressbook (地址簿),并为 regist_no (注册编号)列设置主键约束
表1-A 表 Addressbook (地址簿)中的列
CREATE TABLE Addressbook (regist_no INTEGER NOT NULL,NAME VARCHAR ( 128 ) NOT NULL,address VARCHAR ( 256 ) NOT NULL,tel_no CHAR ( 10 ), mail_address CHAR ( 20 ), PRIMARY KEY ( regist_no ));
2、假设在创建练习1.1中的 Addressbook 表时忘记添加如下一列 postal_code (邮政编码)了,请把此列添加到 Addressbook 表中。
列名 : postal_code
数据类型 :定长字符串类型(长度为 8)
约束 :不能为 NULL
ALTER TABLE addressbook ADD COLUMN postal_code CHAR ( 8 ) NOT NULL;
3、编写 SQL 语句来删除 Addressbook 表。
DROP TABLE Addressbook
4、编写 SQL 语句来恢复删除掉的 Addressbook 表。
- 删除的语句是无法恢复的 可以用1中的语句重新创建
不畏过往,不惧将来!
阿里云天池龙珠计划SQL训练营(一)相关推荐
- 【学习笔记】阿里云天池龙珠计划SQL训练营-Task06:综合练习题-10道经典题目
本笔记为阿里云天池龙珠计划SQL训练营的学习内容 链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql 练习题1: 请使用A股上市公司 ...
- 本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql” Task06学习笔记
本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql" Task06学习笔 ...
- 阿里云天池龙珠计划SQL训练营Task03:复杂查询方法-视图、子查询、函数等
本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql: 3.1 视图 我们先来看一个 ...
- 【阿里云天池龙珠计划SQL训练营】SQL复习Task3
本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql: 目录 Task03:复杂查询 ...
- 【阿里云天池龙珠计划SQL训练营】SQL复习Task2
本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql: 目录 Task02:SQL基 ...
- 阿里云天池龙珠计划SQL训练营Task 1:初识数据库与SQL
本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql: 一.初识数据库 数据库是将大 ...
- 阿里云天池龙珠计划SQL训练营Task04:集合运算-表的加减法和join等
本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql: 4.1表的加减法 4.1.1 ...
- 阿里云天池龙珠计划SQL训练营——Day2
Day 2: 本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql: 比较运算符:& ...
- 本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql;
Task03:复杂查询方法-视图.子查询.函数等 3.1 视图 3.1.1 什么是视图 3.1.2 视图与表有什么区别 3.1.3 为什么会存在视图 3.1.4 如何创建视图 3.1.5 如何修改视图 ...
最新文章
- bootstrap ui
- php定义变量f= e怎么写,php变量怎么定义-PHP问题
- 前端学PHP之文件操作
- HTML文本框中只能输入纯数字
- Redis队列php多线程请求
- 她把肥皂放在矿泉水瓶盖上,第二天大吃一惊...…
- 大家有什么n刷的小说,可以推荐一下吗?
- “总有一天你会知道,因工作和别人翻脸有多蠢。”这句话有没有道理?
- 获取实体类属性值为null的属性名
- sort 、sorted、range、join方法 数字的正序、倒叙、翻转
- python画折线图-手把手教你Python yLab的绘制折线图的画法
- 杰奇1.7--关关采集器使用教程
- [裴礼文数学分析中的典型问题与方法习题参考解答]5.1.23
- 重装win10专业版系统
- 真励志!从月薪2300深圳流水线女工,逆袭为年薪80万谷歌工程师,又因疫情失业:我绝不轻易认输...
- vue与ios和Android联调方法
- Vue实现图形化积木式编程(十二)
- 12.2 关闭DLM 自动收集统计信息 (SCM0)ORA-00600之[ksliwat: bad wait time]
- html防止恶意广告,如何拦截恶意网页和弹窗广告?解决方法
- 机器学习——神经网络、深度学习 知识点总结 及 面试题汇总