暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【学习笔记04】工具篇之SQL—先学会走,再提跑的那点事儿

零兔数据赛跑 2021-11-30
445





SQL系列专题开更啦!!


即日起,【SQL学习笔记】系列将稳定更新,更新完毕后会持续输出【SQL刷题】系列专题,敬请期待哦~




01

我们今天学什么?



前情回顾:

上次的笔记中,我们学到了SQL的四种语言类型,来帮我们做到“增删改查”的效果。那么今天我们就来集中讲解下其中的定义语言:DDL



首先,数据定义语言包括以下内容:

create(创建数据库/表/索引)、

alter(修改数据表的结构)、

drop(删除-有针对性的删除)、 

truncate(删除-直接清空数据)。


补充一点基础知识:

database(数据库)、table(表)、


→→巧思妙记:定义语言可以理解为对数据库/表的存在进行创建or删除、以及对表结构上的修改。


02

how to do ?





1

create



一.创建数据库

1.代码:

create database 数据库名;

注意:
(1)命令不区分大小写,但表内数据是区分大小写的;
(2)SQL代码必须以;结尾。

2.命名规则:

  • 命名库名与表名的时候,以字母开头;

  • 可以包括:字母数字和下划线。


3.举例:

创建一个数据库

create database db_jsy;(具体命名要看公司要求)


二.创建数据表

1.代码:

create table 库名.表名(列名1 数据类型 约束条件,... , 约束条件1,约束条件2,...); 


注意:

命令中写“库名.表名”的方式比较保险,避免把表建在错误的数据库中。(dbeaver中可以设置默认的当前数据库来进行操作)


注释:

(1)列约束条件是指:该列数据是否可以是空值?还是要赋予默认值?
①空值:我们可以在创建数据表时,就设定某一列数据是否可以为空值。
→→null:可以是空值=该列我们可以不插入数据·。
→→not null:不可以为空值=该列我们必须插入数据,哪怕是空格都可以。
②赋予默认值:在不插入数据的情况下,自动添加设置好的默认值。
→→default 0:当没有认为插入数据时,默认值为0。

(2)表约束条件是指:设置某列为主键等。

主键约束=唯一+非空,可以通过该列取出特定数据。

→→写法1:primary key(列名)

→→写法2:列名 数据类型 primary key


2.举例:

在数据库db_jsy下,创建一个表,记录顾客的id号,名字,年龄和性别信息。(id为主键,姓名不为空)

create table 

db_jsy.jsy_member_20211129

(id int primary key,

name varchar(100) not null

age int,

sex int);

具体命名要看公司要求)




2

alter



一.在表中增加一列:

alter table 表名 add 列名 类型


举例:

在上述创建的表中,增加一列生日字段
alter table 
db_jsy. jsy_member_20211129 
add birthday date


二.在表中删除一列:

alter table 表名 drop 列名;


举例:

在上表中,删除生日字段

alter table 

db_jsy.jsy_member_20211129 

drop birthday;


三.修改名:

alter table 表名 change 旧列名 新列名 类型;


举例:

修改列名id为member_id,类型不变

alter table 

db_jsy. jsy_member_20211129 

change id member_id int;


四.修改名:

alter table 旧表名 rename 新表名;


举例:

修改表名jsy为jj
alter table 

db_jsy. jsy_member_20211129 

rename 

jj_member_20211129;




3

drop



一.删除数据库:

drop database 库名;


举例:

删除上例中创建的数据库

drop database db_jsy;


二.删除表:

drop table 库名.表名;


举例:

删除上例中的表

drop database db_jsy.jsy_member_20211129;


三.删除表中的某一列:(同上述alter中的命令)




4

truncate



与drop具有针对性的删除不同,truncate可以更高效的清除表中的数据,命令同上:truncate table 表名;

但是不建议冲动删除数据哦!有些数据清除后找回复杂,会对工作造成不必要的麻烦。


【对内容有问题or建议的小伙伴,可以关注我,后台扫码添加我的微信,多多交流,感谢指点】




1

温馨提示

A Little Tips


因担心大家直接复制粘贴我写的内容,不亲自动手练习=无效学习。

所以我故意打的代码是中英文掺杂的标点符号,直接copy运行是会报错的哦,乖乖的自己敲键盘练习吧!




往期推荐



【学习笔记03】工具篇之SQL—如何搞定安装并免费激活最新版Navicat?

【学习笔记02】工具篇之SQL—学代码之前你要知道的事

【学习笔记01】小白应该如何认知数据分析?—文末有思考



点个在看你最好看

文章转载自零兔数据赛跑,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论