当前位置: 首页 > 后端技术 > PHP

Mysql入门课《建表、改表、删表》

时间:2023-03-29 18:23:12 PHP

原文在我的Github上,欢迎订阅。前言我想学习数据库,所以才有了这个Mysql系列。本系列主要是作为自己学习Mysql的记录,我把它作为学习笔记。不从安装数据库、添加用户、分配权限等知识入手,重点介绍Mysql表操作、数据增删改查等相关知识。为了方便学习,下面将以student(学生表)、class(班级表)、lesson(课程表)来引导。另外,我使用的可视化工具是NavicatPremium还有一点:本文使用了一些简单的数据类型字段,比如:INT、TINYINT、VARCHAR,你只需要知道是数值类型和字符串类型即可.数据类型见《数据类型》。建表通用语句:CREATETABLEtable_name(column_namecolumn_type);译为:CREATETABLE表名(字段名字段类型等);createastudenttable使用上面的通用语句建立学生表:CREATETABLEstudent(idINTPRIMARYKEYAUTO_INCREMENTCOMMENT'自增主键',student_nameVARCHAR(30)COMMENT'学生姓名',ageTINYINTDEFAULT0COMMENT'age',sexCHAR(5)NOTNULLDEFAULT'0'COMMENT'sex',create_timetimestampDEFAULTCURRENT_TIMESTAMP())ENGINE=InnoDBDEFAULTCHARSET=utf8;运行上面的sql后建表成功:分析建表语句,先看除了字段的部分:CREATETABLEstudent(...)ENGINE=InnoDBDEFAULTCHARACTER=utf8;ENGINE=InnoDBDEFAULTCHARACTER=utf8;是数据库默认的,不用写,但是作为新手应该知道这句话的意思:数据库引擎使用InnoDB,默认的字符编码是utf8。我们再看一下字段定义部分:idINTPRIMARYKEYAUTO_INCREMENTCOMMENT'自增主键',student_nameVARCHAR(30)COMMENT'学生姓名',ageTINYINTDEFAULT0COMMENT'年龄',sexCHAR(5)NOTNULLDEFAULT'0'COMMENT'性别',create_timetimestampDEFAULTCURRENT_TIMESTAMP()id:字段名INT:字段数据类型PRIMARYKEY:设置该字段为主键AUTO_INCREMENT:自增COMMENT:为该字段添加注释,后面的字符串是注释的内容DEFAULT:默认值CURRENT_TIMESTAMP():当前时间公式总结为:字段名+字段类型+【默认值,主键设置,自增,注释...】[]是可选的,上面是建表时常用的命令,[]里面的...表示还有其他的命令,不过以上对我这个初学者来说已经足够了。注意:在建表的时候,还需要考虑表与外键(foreignkey)的关联,这里暂且不做介绍,后面会有专门的章节介绍。Alteringtable表建好了,但是随着开发的进行,之前建的表可能不能满足以后的需求,所以需要修改表。同样,修改表的一般语句有:ALTERTABLE<表名>[修改选项]下面是添加字段的修改选项语法:ADDCOLUMN<列名><类型>...修改字段名:CHANGECOLUMN<旧列名><新列名><新列类型>...优化(修改)字段类型MODIFYCOLUMN<列名><类型>...删除字段DROPCOLUMN<列名>...修改tablenameRENAMETO可能对MODIFY和CHANGE有疑惑,这里解释一下:MODIFY主要用于修改字段类型等,字段名不能修改,CHANGE是替换旧的字段与新字段。当然,字段类型也是可以修改的。简单来说MODIFY就是修改原来字段的类型,CHANGE就是直接替换整个字段,包括类型和其他字段。下面动手操作,首先给表添加字段:ALTERTABLEstudentADDCOLUMNhobbyVARCHAR(100);上面的语句在student表中增加了一个字段hobby(爱好),该字段的数据类型为字符串(100个字符)。下图表示hobby字段添加成功:使用CHANGE修改字段ALTERTABLEstudentCHANGECOLUMNhobbyhobby_numTINYINT;上述语句将旧字段hobby替换为新字段hobby_num字段类型为数字类型;执行后的结果如下:使用MODIFY修改字段类型上面说了MODIFY不能修改字段名。一般用于修改字段类型等操作。接下来,我们将hobby_num从数字类型更改为字符串类型:ALTERTABLEstudentMODIFYCOLUMNhobby_numVARCHAR(30);可以看到,类型已经成功修改为VARCHAR类型。删除字段删除字段非常简单。这里我们删除hobby_num字段:ALTERTABLEstudentDROPCOLUMNhobby_num;执行成功,下图中删除了hobby_num:修改表名修改表名的操作频率很低,但还是要知道。我们将学生表的名称更改为学生:ALTERTABLEstudentRENAMEstudents;执行后可以看到表名修改成功:删除表的操作不仅在学习中常用,在实际开发中也很少见。表删除语句如下:DROPTABLEtable_name;我们删除了学生表:DROPTABLEstudents;看结果:OK,表没了……没了……总结了这篇文章学到的东西:如何创建表更改表名,增删改表字段。删表操作可能存在的疑惑:建表时用到的数据类型很多,轻数字类型出现INT、TINYINT,字符串类型出现CHAR、VARCHAR。.那么在下一篇文章中,让我们通过研究《数据类型》来了解它们。