《MySQL对数据库中表的结构的操作》

文章目录


以下的数据库表的操作全是基于user_db这个数据库操作的,表是基于user_db这个数据库中的user表操作的。

一、建表

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

字符集和校验规则不写就使用数据库的默认的字符集和校验规则。

engine后面跟表的存储引擎,不同的存储引擎,保存的文件不同。

eg:

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

二、查看表结构

desc 表名

还可以这样查看创建表时的信息:

show create table user1 \G;

\G选项可以去掉,去掉后就是这样:

所有能查看到数据库,表的操作痕迹的本质都是服务器保存下来了这些操作记录。

三、修改表

1.改表名字

alter table 原表名 rename to 新表名;

2.添加表记录

insert into user values(...);

比如:

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

3.添加表的更多字段

比如:

alter tables user add image_path varchar(128) comment '用户图像路径';

在user表中添加一个image_path字段,保存用户头像路径。

还可以这样写:

alter tables user add image_path varchar(128) comment '用户图像路径' after birthday;

指明该image_path字段要跟在birthday字段后面。

4.修改表的字段

alter table user modify name varchar(60)

将name字段的可变类型改成60大小。(原来是20)

alter table user change name xingming varchar(60);

将name列修改成xingming列,并设置字段属性为varchar(60);

5. 删除表的字段

alter table user drop + 字段名

注意:删除表字段的时候,务必保证没有数据了,或者删除后不影响,否则删除就是永久性的,谨慎!

四、修改表的数据

1.删除表的数据

假如想要删除一个id为123的数据行。

delete from + 表名 + where id=123;

2.修改表的数据

假如想要将id='123'所在行的qq修改成'26653'

update + 表名 set qq='26653' where id='123';

3.向表中添加数据

insert into + 表名(要添加的数据类型) values(要添加的数据);

比如想从student表中添加一行数据,student表有几个字段:

1.id 2.name 3.telephone

则添加的指令是:

insert into student(id,name,telephone) values(123,'张三','197401');

像上面这种,全部都添加的,可以把数据名省略:

insert into student values(123,'张三','197401');

如果只需要添加其中一个或几个类型:

insert into student(name) values('张三');


总结

以上的操作都是对表的结构的操作。

相关推荐
z***75154 分钟前
【SQL技术】不同数据库引擎 SQL 优化方案剖析
数据库·sql
麦兜*6 分钟前
Redis内存消耗异常飙升?深入排查与Big Key/Hot Key的根治方案
jvm·数据库·spring boot·redis·spring·缓存
成为你的宁宁34 分钟前
【Redis 从入门到实战:详细讲解 Redis 安装配置、RDB/AOF 数据持久化方案、一主两从同步部署,深入剖析哨兵模式工作原理与哨兵模式高可用全攻略】
数据库·redis·缓存
云和数据.ChenGuang36 分钟前
r=re.search(r‘data-original=“(.*?)“‘, line)指令解析
数据库·mysql·r语言
v***5651 小时前
使用bitnamiredis-sentinel部署Redis 哨兵模式
数据库·redis·sentinel
2501_941111821 小时前
使用Python进行网络设备自动配置
jvm·数据库·python
m***11902 小时前
MySQL官网驱动下载(jar包驱动和ODBC驱动)【详细教程】
数据库·mysql
debug骑士2 小时前
云原生边缘计算系统在工业物联网中的实时智能调度与优化策略研究
mysql
chxii3 小时前
第六章:MySQL DQL 表之间的关系 自连接 一对一、一对多、多对一、多对多
java·前端·mysql
煎蛋学姐3 小时前
SSM基于J2EE的山西旅游网站的设计与实现iiqmx(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·java-ee·ssm 框架·山西旅游网站·在线预订系统