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;
相关推荐
不剪发的Tony老师39 分钟前
金仓数据库在线体验:简单易用
数据库·金仓数据库
techdashen43 分钟前
Uber 的全局限流系统:从零散 Redis 限流到服务网格里的自动化流量保护
数据库·redis·自动化
白露与泡影1 小时前
慢 SQL 不一定是 SQL 慢:一次 MySQL 连接池耗尽的故障定位
数据库·sql·mysql
IT 小阿姨(数据库)1 小时前
PostgreSQL 因主库表空间错乱_缺少软链接、从库配置问题,导致主从复制故障【修复过程】
数据库·postgresql
爱敲代码的小鱼1 小时前
springsecurity:
java·开发语言·数据库
秋田君1 小时前
QT_QT信号与槽机制
开发语言·数据库·qt
DFT计算杂谈2 小时前
vasp如何计算金属的铁电极化强度?
数据库
EterNity_TiMe_2 小时前
别让告警变成噪音:用Prometheus和Alertmanager搭一套可远程查看的监控系统
数据库·人工智能·ai·postgresql·prometheus·cpolar
不超限2 小时前
Postgresql 数据库 自增字段,Vastbase 无效的问题
数据库
阿坤带你走近大数据3 小时前
Oracle新老SQL写法对比
数据库·sql·oracle