MYSQL结构操作DDL指令2.表操作

在数据库中实际存储数据需要建立表,表就是对数据的格式的定义,创建了表,数据都得按照表中的格式进行存取

表创建

表是属于某一个数据库的,所以在创建表之前需要先进入对应的数据库

复制代码
use db_name;

查看当前所在数据库

复制代码
select database();

进入到对应数据库中输入一下指令

复制代码
create table if not exists table_name(
name varchar(20) comment '姓名',
age int comment '年龄',
gender varchar(2) '性别'
)charset=utf8 collate utf8 engine InnoDB;

这个是创建一个包含个人信息的表

name,age,gender是对表中一列起名字,是表中的一个字一个属性。

varchar int是以后输入数据时对应的数据类型,括号内的是其长度

comment后面加对此字段的描述

查看表

查看当前数据中的所有表

复制代码
show databases;

表中数据插入

表创建好就可向其按照对应格式插入数据。以上表为例

复制代码
insert into table_name (name,age,gender) values ('张三',18,'男');

中间的(name,age,gender)可以省略,省略代表全部属性都插入按照格式。

修改表名

复制代码
alter table table_name rename to newtable_name;

数据库中一般都是在创建时就要考虑好后续尽可能的不要进行修改结构类操作。修改后可能导致某些程序在用旧的名字导致程序出错。还有一些如列的新增删除就举例了,下面放两行代码

列新增

复制代码
alter table newtable_name add image_path varchar(128) comment '个人头像路径' after gender;

这条指令是在gender属性后面添加一个字段名为image_path的列用于存放个人头像的路径

删除列

复制代码
alter table newtable_name drop image_path;

这条指令是删除表中名为image_path的字段连同对应的数据。

查看表的详细信息

复制代码
desc newtable_name;

可以查看表的所有字段信息

查看表创建的信息

复制代码
show create table newtable_name\G

指令中的\G用于代替;可以进行格式化输出,;可以不省略。

修改列

修改列就是将这列的全部属性进行覆盖,如上图 name中有varchar(20) DEFAULT NULL COMMENT等属性,当修改后会进行覆盖之前的。

修改列中的数据类型

复制代码
alter table newtable_name modify name varchar(50);

将姓名本来是20的长度改为50,comment也会被覆盖,所以一定要修改要将后面的属性都给加上

修改列名

复制代码
alter table change name xingming varchar(20) DEFAULT NULL COMMENT '姓名';

如上面修改类型一样是覆盖的所以需要加上本来就有的属性字段。这里将名字改为xingming

删除表

复制代码
drop newtable_name;
相关推荐
岳麓丹枫0012 小时前
PostgreSQL 中 pg_wal 目录里的 .ready .done .history 文件的生命周期
数据库·postgresql
陌上丨8 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
AI_56788 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
ccecw9 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
JH30739 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
数据知道9 小时前
PostgreSQL 核心原理:如何利用多核 CPU 加速大数据量扫描(并行查询)
数据库·postgresql
麦聪聊数据10 小时前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
未来之窗软件服务10 小时前
数据库优化提速(四)新加坡房产系统开发数据库表结构—仙盟创梦IDE
数据库·数据库优化·计算机软考
Goat恶霸詹姆斯12 小时前
mysql常用语句
数据库·mysql·oracle
大模型玩家七七12 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习