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;
相关推荐
山峰哥1 天前
查询优化案例:从慢查询到闪电般的查询速度
数据库·sql·性能优化·编辑器·深度优先
杨云龙UP1 天前
Oracle ASM磁盘组空间分配与冗余理解
linux·运维·数据库·sql·oracle
微学AI1 天前
一款数据库SQL防火墙:可以拦截99.99%,可以阻止恶意SQL
数据库·sql
2401_884563241 天前
Python Lambda(匿名函数):简洁之道
jvm·数据库·python
haixingtianxinghai1 天前
Redis真的是单线程吗?
数据库·redis·缓存
FirstFrost --sy1 天前
MySQL复合查询
数据库·mysql
imuliuliang1 天前
MySQL的底层原理与架构
数据库·mysql·架构
尽兴-1 天前
Redis7 底层数据结构解析
数据结构·数据库·缓存·redis7
m0_730115111 天前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
qq_410194291 天前
SQL语句性能优化
数据库·sql·性能优化