目录
一、什么是数据库
二、SQL分类
三、库的操作
四、表的操作
五、数据类型
六、表的约束
什么是数据库
存储数据用文件就可以了,为什么还要有数据库?
文件保存数据有以下几个缺点:
文件角度
如下图,本来我们如果要对文件中的数据进行增删改查,就得自己去找文件并增加或修改数据的,
有了数据库之后,就可以交给它来做,我们只需要对数据库做一些处理即可!
我们下载的数据库就是图中的mysql和mysqld,即客户端与服务器,mysql是CS模式,在本地访
问时:mysql 127.0.0.1 3306,3306是端口号,127.0.0.1是本地IP地址

mysql或者数据库属于应用层,需要我们自己安装,底层一定是直接或间接访问OS的文件接口

数据库中的库+表全部都会在该路径下!

服务器、数据库、表之间的关系
所谓的创建数据库,本质就是在Linux下创建一个目录

所谓的创建数据库表,本质就是在特定目录下创建特定的文件!

数据的逻辑存储

显示创建数据库的详情
注意:下图中的/*...*/不是注释,表示当前mysql版本大于4.01版本,就执行这句话!

修改数据库
alter database db_name 新的字符集或校对规则;
对数据库的修改主要指的是修改数据库的字符集,校验规则,数据库名也能改,最好别改!
如下图,修改了字符集

删除数据库
drop database db_name;
查看连接情况
show processlist;

表的操作
创建表,如下图,红色框中的可不带!fifield 表示列名,datatype 表示列的类型

注意:不同的存储引擎,创建表的文件不一样,如下图,users.frm:表结构,users.MYD:表数
据,users.MYI:表索引

查看表结构,desc table_name

修改表结构
建议:表结构最好不要修改!!!
添加某一列
修改某一列

删除某一列
ALTER TABLE tablename DROP (column);

修改表名
如下图,char(3),表明可以存储三个字符,可以是字母或者是汉字,但不能超过3个
VARCHAR
varchar(L): 可变长度字符串,L表示字符长度,最大长度65535个字节

varchar括号内的len有多大,与编码密切相关!
日期和时间类型
如下图,在更新日期后,时间戳也跟着变了,只有时间日期不变!

enum

实际存储的其实是数字,1,2,3,....最多65535个,所以可以插入数字,来达到我们想要的效果,但
不建议这么做,最好还是插入男、女等直观上的字

set

如下图,就把全部喜欢网球的都找出来了!

表的约束
mysql是和数据打交道的,mysql一定要尽量保证数据不要出现"偏差",所以mysql为了让自己的
表结构里面的数据完整性一致性非常强,mysql是要给我们提供强约束的!!!
空属性
通过外键产生关系的表,除了在逻辑上要有关联,被称为外键;mysql在操作上也要维护这种逻辑
关系的正确性,也被称为外键约束!
如下图,必须先创建主表,再创建从表,顺序不能颠倒!

如下图,得Class表中有班级,才能插入这些班级的学生;同样,得Stu中没有某一班级的学生
了,才能在Class表中删除该班级!

转载:https://blog.csdn.net/weixin_58867976/article/details/127816179