【MySQL】MySQL表的操作

目录

创建表的语法

sql 复制代码
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

创建表的示例

sql 复制代码
mysql> create table if not exists user1(
    -> id int,
    -> name varchar(20) comment '用户名',
    -> password char(32) comment '用户的密码',
    -> birthday date comment '用户的生日'
    -> )character set utf8 collate utf8_general_ci engine MyIsam;
sql 复制代码
mysql> create table if not exists user2(
    -> id int,
    -> name varchar(20) comment '用户名',
    -> password char(32) comment '用户的密码',
    -> birthday date comment '用户的生日'
    -> )charset=utf8 collate=utf8_general_ci engine=InnoDB;

这两种创建表的示例,第一种使用的存储引擎是MyIsam,数据库目录文件中就对应创建了三个文件,而第二种使用的存储引擎是InnoDB,数据库目录文件中就对应创建了两个文件,其实默认创建时,使用的存储引擎是第二个,它是把索引和数据放到了一个文件中。

不同的存储引擎,创建表的文件不一样。

user1 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:

  • user1.frm:表结构
  • user1.MYD:表数据
  • user1.MYI:表索引

查看表的结构

进入数据库

sql 复制代码
use user_db;

查看自己在哪个数据库

sql 复制代码
select database();

查看自己所在数据库都有哪些表

sql 复制代码
show tables;

查看表的详细信息

sql 复制代码
desc user1;

查看创建表时的详细信息

sql 复制代码
show create table user1 \G;

注意:\G可以清除杂乱的信息,这里显示的信息,都是把我们可能写的不标准的写法,都会给我转化为标准的写法。

修改表

修改表名

sql 复制代码
alter table user1 rename to user;

to是可以省略的。

修改表的内容

插入几个数据

增加一列

sql 复制代码
alter table user add image_path varchar(128) comment '这个是用户的头像路径' after birthday;

修改一列的所有属性

sql 复制代码
alter table user modify name varchar(60);


注意:我们发现我们修改某一列特定的属性时,是把所有的属性内容覆盖式的修改。

删除某一列

sql 复制代码
alter table user drop password;

注意:轻易不要删。

修改列的名称

sql 复制代码
alter table user change name xingming varchar(60) DEFAULT NULL;

注意:这里使用的是change,改列的名称后面必须跟上所有的列的属性。

删除表

sql 复制代码
drop table user;

注意:未来我们在进行数据库操作的时候,尽量不要进行修改或者删除!!!

相关推荐
ZFJ_张福杰21 分钟前
【技术深度】金融 / 钱包级 Android 安全性架构(毒APP)
android·安全·金融·架构·签名证书
Bigger6 小时前
Flutter 开发实战:解决华为 HarmonyOS 任务列表不显示 App 名称的终极指南
android·flutter·华为
ohoy7 小时前
mysql 30天自动补0
数据库·mysql
大学生资源网8 小时前
java毕业设计之儿童福利院管理系统的设计与实现(源码+)
java·开发语言·spring boot·mysql·毕业设计·源码·课程设计
小鸡脚来咯9 小时前
Redis与MySQL双写一致性(实战解决方案)
spring·oracle·mybatis
利剑 -~9 小时前
mysql面试题整理
android·数据库·mysql
程序员卷卷狗9 小时前
Redis事务与MySQL事务有什么区别?一文分清
数据库·redis·mysql
qq_124987075311 小时前
重庆三峡学院图书资料管理系统设计与实现(源码+论文+部署+安装)
java·spring boot·后端·mysql·spring·毕业设计
大学生资源网11 小时前
java毕业设计之“知语”花卉销售网站的设计与实现源码(源代码+文档)
java·mysql·毕业设计·源码·springboot
梁同学与Android11 小时前
Android ---【经验篇】ArrayList vs CopyOnWriteArrayList 核心区别,怎么选择?
android·java·开发语言