最近在准备着手写这学期的课设,想着设计数据库,发现自己写的也是卡卡停停的,不是说用AI工具不好,只是我希望自己的基础更牢靠一点,所以写一篇MySQL的快速回顾,来帮助回忆和巩固关系型数据库的内容怕。
基础的数据库连接和安装就不多赘述,不过记得把数据库的密码存放好,不然就会像我一样一个一个试过去,推荐大家把密码要么统一的放一个文件夹,要么就是放在相对应的文件夹。本次回顾主要是使用可视化工具navicat。
数据库的基本操作不外乎增删改查,首先第一就是关于数据库的创建,因为这次主要是回顾,所以就单开了一个test01数据库来作为练手,后面上手项目就会快一些。
CREATE DATABASE test01;/*创建一个练手的数据库test01*/
不得不说navicat工具写的还是不错的,相比于我之前用命令行创建代码,navicat在数据库用户登录和基本操作等方面的可视化操作对新人很友好,可惜我当初的数据库课程的要求必须是通过命令行的形式,不过还是通过鼠标点点快多了,对于个人开发而言,怎么样方便怎么来,开发主打一个效率。
CREATE TABLE ex01 (/*创建一个基本的数据表ex01,来作为练手的对象*/
id INT,
name VARCHAR(100),
age INT
); /*写上分号有助于分模块,对于协作开发就会有优势体现,建议保持良好的代码规范*/
这是一个基本的数据表的创建,类似于数据库的创建,都是使用CREATE关键词来,其实sql语言上手还是很快的,只是一段时间不接触,容易断片。navicat的使用技巧,除了选中代码段运行以外,也可以直接右键当前代码块末尾,来选择运行当前语句,也是可以实现相同的效果。
以上就是创建的练手表,直接在左侧表就可以找到该表,下面是一些常用的建表操作:
DESC ex01;/*显示表结构*/
ALTER TABLE ex01 ADD email VARCHAR(50);/*往存在的表中添加新字段*/
ALTER TABLE ex01 DROP COLUMN email;/*往存在的表中删除字段*/
ALTER TABLE ex01 RENAME COLUMN name to fullName;/*修改字段名*/
ALTER TABLE ex01 MODIFY COLUMN age SMALLINT;/*修改字段数据类型*/
ALTER TABLE ex01 ALTER COLUMN age SET DEFAULT 18;/*修改字段的默认值*/
DROP TABLE ex01;/*删表跑路*/
这里我都写了注释,基本上一些平常的作业或者实验都用得到,还是建议熟练为主,当然,最后的删表就不用那么熟练,只要知道这个是删表,尽量不要触发就行。如果在练习的过程中发现自己的表没有更新,方案一就是右键左侧的表,执行刷新操作,你也可以写一句DESC来帮助你每次右键执行语句就会把更新后的表的结构输出。
/*数据库的增删改查*/
INSERT INTO ex01(id, fullName,age) VALUES (1,'喜羊羊',18);/*加入一条数据*/
INSERT INTO ex01 VALUES (2,'美羊羊',18);/*虽然也可以写成这种不指定列名的情况,不过还是建议补充上列名,更加明确、易于维护*/
INSERT INTO ex01(id, fullName,age) VALUES /*批量添加*/
(3,'懒羊羊',16),
(4,'沸羊羊',19);
INSERT INTO ex01(id) VALUES (5);/*在列名没有指定的情况下插入的内容为默认值或者为空NULL,如果插入的内容和前面的字段不匹配则报错*/
SELECT * FROM ex01;/*筛选表,*就表示所有,即表的所有内容*/
/*删除数据*/
DELETE FROM ex01 WHERE fullName = '懒羊羊';
/*修改数据*/
UPDATE ex01 SET fullName = '喜洋洋' WHERE id = 1;
/*查找数据*/
SELECT * FROM ex01 WHERE id = 1;
练习的太投入,一口气把基础都过了一遍,过程中的思路也都写在了注释里,感觉数据库的语法内容到这里已经恢复了80%,不过主键这些都没加入,打算写在下一章吧。
其实数据库语言并不难,都是一些基本的单词拼凑的语句,如果觉得记不住的话,是时候该去背背单词了,英语对于计算机来说,虽然不是特别重要,但是有英语基础总能在不经意间给你带来很多便利之处,特别是在翻阅文档的时候,有些时候麻瓜翻译可能会让你的问题无法解决,只能眼巴巴看着。
下面就是梳理的基本语法格式:
CREATE TABLE 表名 (/*创建*/
字段名1 字段类型,
字段名2 字段类型,
字段名3 字段类型,
……
);
ALTER TABLE 表名 DROP COLUMN 字段名;/*删除字段*/
DROP TABLE 表名;/*删除表*/
DELETE FROM 表名 WHERE 筛选条件;/*删除数据*/
INSERT INTO 表名(字段名1,字段名2,……) VALUES (值,值,……);/*增加数据,注意匹配*/
UPDATE 表名 SET 字段名1 = 值 WHERE 筛选条件;/*修改数据*/
SELECT * FROM 表名 WHERE 筛选条件;/*查找数据*/
其实当时的数据库的课,老师也只是在讲台上演示了一遍,我个人建议学习的时候自己码一遍,还有就是,这些内容都可以在一节课就可以学会,剩下的就是熟练,更重要的内容是数据库的设计、性能和安全的处理,以及对接项目,这些才是需要长时间去练习来增长。