【MySQL】MySQL表的操作-创建查看删除和修改

文章目录

1.创建表

语法:

mysql 复制代码
CREATE TABLE table_name (
	field1 datatype,
	field2 datatype,
	field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field 表示列名
  • datatype 表示列的类型
  • set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
mysql 复制代码
create table users (
	id int,
	name varchar(20) comment '用户名',
	password char(32) comment '密码是32位的md5值',
	birthday date comment '生日'
) character set utf8 engine MyISAM;

说明:

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

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

users.frm:表结构

users.MYD:表数据

users.MYI:表索引

2.查看表结构

mysql 复制代码
desc 表名;

3.修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

mysql 复制代码
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename DROP (column);

在users表添加两条记录

mysql 复制代码
insert into users values(1,'a','b','1982-01-04'),(2,'b','c','1984-01-04');

在users表添加一个字段,用于保存图片路径

mysql 复制代码
alter table users add assets varchar(100) comment '图片路径' after birthday;

查看表

mysql 复制代码
desc users;

插入新字段后,对原来表中的数据没有影响:

修改name,将其长度改成60

mysql 复制代码
alter table users modify name varchar(60);

删除password列

注意:删除字段一定要小心,删除字段及其对应的列数据都没了

mysql 复制代码
alter table users drop password;

修改表名为employee

mysql 复制代码
alter table users rename to employee;

to:可以省掉

将name列修改为xingming

mysql 复制代码
alter table employee change name xingming varchar(60);--新字段需要完整定义

4.删除表

语法格式:

mysql 复制代码
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

示例:

mysql 复制代码
drop table t1;
相关推荐
岁岁种桃花儿5 小时前
MySQL从入门到精通系列:InnoDB记录存储结构
数据库·mysql
蜜獾云6 小时前
oracle查询所有的表名和注释
oracle
jiunian_cn6 小时前
【Redis】hash数据类型相关指令
数据库·redis·哈希算法
冉冰学姐6 小时前
SSM在线影评网站平台82ap4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm框架·在线影评平台·影片分类
Exquisite.7 小时前
企业高性能web服务器(4)
运维·服务器·前端·网络·mysql
知识分享小能手7 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019数据库的操作(2)
数据库·学习·sqlserver
爬山算法8 小时前
Hibernate(84)如何在DevOps流程中使用Hibernate?
oracle·hibernate·devops
踩坑小念8 小时前
秒杀场景下如何处理redis扣除状态不一致问题
数据库·redis·分布式·缓存·秒杀
萧曵 丶9 小时前
MySQL 语句书写顺序与执行顺序对比速记表
数据库·mysql
Wiktok10 小时前
MySQL的常用数据类型
数据库·mysql