MySQL#MySql表的操作

目录

一、创建表

二、查看表结构

三、修改表

1.修改表的名字

2.新增一个列

3.修改列

4.删除列

5.修改列的名称

四、删除表


一、创建表

语法:

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

说明:

  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

案例:

复制代码
create table users (
    id int,
    name varchar(20) comment '用户名',
    password char(32) comment '密码是32位的md5值',
    birthday date comment '生日'
) character set utf8 engine MyISAM;

我在这里采取了不同的引擎来创建表

二、查看表结构

复制代码
desc 表名;

显示创建表时的信息 \G:格式化显示

三、修改表

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

复制代码
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);

1.修改表的名字

复制代码
alter table Olduser rename to Newuser;

2.新增一个列

在users表添加一个字段,用于保存图片路径,放在birthday的后面

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

3.修改列

修改name,将其长度改成60

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

这是覆盖式的修改,name的备注不见了,属性被改成了60.

4.删除列

删除password列

复制代码
alter table user drop password;

5.修改列的名称

将name列修改为xingming

对列名进行修改,就相当于对列重新设置,列属性也要给,列备注也要给

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

四、删除表

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

删除表user

相关推荐
♡喜欢做梦几秒前
MyBatis操作数据库(进阶):动态SQL
java·数据库·sql·java-ee·mybatis
copyer_xyf2 分钟前
SQL 语法速查手册:前端开发者的学习笔记
前端·数据库·sql
承缘丶3 分钟前
Excel字段清单转各类数据库建表语句的工具(开箱即用)
数据库·excel·excel转数据库建表语句
风123456789~2 小时前
【OceanBase专栏】脚本调用OB过程实验
数据库·oceanbase
n***s9096 小时前
【MySQL基础篇】概述及SQL指令:DDL及DML
sql·mysql·oracle
爬山算法6 小时前
Redis(158)Redis的主从同步问题如何解决?
数据库·redis·缓存
2501_941148159 小时前
多语言微服务架构与边缘计算技术实践:Python、Java、C++、Go深度解析
数据库
计算机毕设小月哥10 小时前
【Hadoop+Spark+python毕设】智能制造生产效能分析与可视化系统、计算机毕业设计、包括数据爬取、Spark、数据分析、数据可视化、Hadoop
后端·python·mysql
w***z5010 小时前
MYSQL 创建索引
数据库·mysql
j***518910 小时前
Java进阶,时间与日期,包装类,正则表达式
java·mysql·正则表达式