数据预备篇之第三节(预备最后一节啦)


欢迎来到煊煊周末小课堂!蹭了非常善良的热心学长的网课,四次感谢!让我们一起祝福他飞黄腾达!
这回!真的!预备篇!最后一节了!

基础知识

RDBMS:关系型数据库管理系统
SQL语句是RDBMS-client(客户端)和RDBMS-server(服务端)之间的桥梁。
SQL语句分为:
DQL:数据查询语言,用于对数据进行查询,用于对数据进行查询
DML:数据操作语言,对数据进行增删改查
TPL:事务处理语言,对事务进行处理,包括begin transaction,commit,rollback
DCL:数据控制语言,进行授权或权限回收,如grant,revoke
DLL:数据定义语言,数据库、表的管理,如create,drop
CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor
以上DQL和DML是重点,除此之外,重点还是crud(增删改查)
新建数据库时,选择字符集一定要自己选择utf8或者utf8mb4,不然就默认拉丁文了,到时候存储的数据都变成乱码了!!
插播一下:utf8和utf8mb4的区别在于后者可以存储emoji表情噢,没错,就是这种
排序规则通常选取utf8-general-ci

数据完整性

1.数据类型:整数(int,bit),小数(decimal),字符串(varchar,char),日期时间(date,time,datetime),枚举类型(enum)

decimal(5,2)就表示这个数一共5位,小数点后面有2位
char和varchar区别在于前者固定长度字符串,比如char(3),然后只输入’ab’,那它默认会在ab的后面给你加一个空格,凑上这个3,但是varchar就是不够就不够,你不超过就行了
text存储大文本,一般都是字符超过4000时推荐
对于存储的图片,音频,视频等文件,不存储在数据库里,而是上传到服务器,然后在表中存储的是这个文件的保存路径
2.约束
主键:primary key 唯一地标识表中的每一条记录,值唯一且不为空,就像你的身份证号,找到这个就能找到你。
非空:not null
唯一约束:unique,此字段的值不可以重复,但可以有为空的
默认:default,给字段设置默认值
外键:外键约束可以保证数据的有效性,但是在进行数据的crud操作时,会降低数据库性能,所以不推荐使用,那数据有效性怎么保证呢?从逻辑层进行控制(老师说后面再讲…)

数据库基本操作

1.命令行来连接数据:运行cmd,输入mysql-uroot-p****(****是你的mysql密码),然后回车,如图就是成功了
在这里插入图片描述
当然也可以直接打开MySQL Command line client Unicode啦,这里没用这个主要是为了显示出我们的高级(狗头)
常用命令如下:
修改输入提示符:
prompt python >
prompt \U > 这个是显示使用用户(一般企业用这个)
prompt \D > 显示完整日期
如图:
在这里插入图片描述
查看创建的数据库:show databases;
注意一定是databases复数哦,而且每一条sql语句后面都要加分号结尾(或者加\),不然这个语句就不会被视为输入结束也不会执行
查看正在使用的数据库:select database();
使用数据库
:use xxx; xxx是你的数据库名
创建数据库:create database demo charset=utf8;
数据库名字是demo,字符集为utf8
查看数据库的创建语句:show create database demo;
如下图:
在这里插入图片描述
删除数据库:drop database demo;
##数据表基本操作
查看当前数据库中的表:show tables;
创建表
基本格式是
create table 表名(字段1名 字段类型 字段约束,字段2名 字段类型 字段约束,…);
举例如下:
create table students (
id int unsigned primary key auto_increment,
name varchar(15) not null,
age tinyint unsigned default 18,
height decimal(3,2) default 1.00,
gender enum(‘男’,‘女’,‘保密’) default ‘保密’ #枚举类型
);
查看表的创建语句:show create table students;
查看表结构:desc students;
在这里插入图片描述
这个语句还是比较直观的,一定要记住
修改表结构:语句用alter,具体分为add(增加)modify(修改已经存在的)change(字段名和类型要改的)
修改表—添加字段
alter table students add 列名 类型约束;
alter table students add birthday datetime default ‘2001-01-01 00:00:00’;
修改表—修改已有字段类型
alter table students modify 列名 新的类型约束
alter table students modify birthday date default ‘2001-01-01’;
修改表—修改字段(重命名版)
alter table students change原名 新名 新的类型约束;
alter table students change birthday birth date default ‘2000-02-02’;
这里就放最后一个图吧,不然图太多了:
在这里插入图片描述
从上面这个图就可以看到上面三步改完之后最终的样子。
修改表—删除字段(一般不用,不然可能搞出来一堆事)
alter table students drop birth;
删除表—(不要瞎删啊,不然真的就从删库到跑路了)
drop table students;

增删改查(crud)

增加— insert
insert into 表名 values (值1,值2,…)
这种就是全列加入,就是新增的数据条每个字段值都不能少
insert into students values(0,‘小孙’,18,1.80,‘女’,‘2000-01-01’),(0,‘小王’,17,1.70,‘女’,‘2000-08-01’);
插入后查询就可以得到:
在这里插入图片描述
上面语句里的0其实是个占位符,只有主键才有占位符这个概念,占位符除了0还有null,default。
指定列插入
insert into 表名 (列名1,列名2,…)values (列名1值,列名2值,…)
insert into students(name,age) values (‘小张’,16) ;
如图:
刚插入进去的小张就在了
刚插入进去的小张,16岁就存在了
批量插入:
语法和上面的插入都一样,就是不同的值values用逗号隔开就行
修改—update
update 表名 set 列1=值1,列2=值2,…where 条件
update students set name=‘小一’ where id=1;
注意一定要加where条件啊,不然就是全表更新啦!还是要跑路的啊!

在这里插入图片描述
如图,id为1的小孙已经改名字叫小一了。
删除—delete
delete from 表名 where 条件;
delete from students where id=3;
这样id为3的记录就被删了,重要的事情说三遍:
一定记得加上where条件!
一定记得加上where条件!
一定记得加上where条件!
查询—select
未完待续…

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值