05@数据库表的相关详细操作及表的数据类型

1|0数据库表的相关操作

1|1一 、存储引擎介绍

存储引擎即表类型 :

【存储引擎详述】

1|2二、表介绍

表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段

img

id、name、age、sex称为字段,其余的,一行内容称为一条记录

1|3三、创建表

#语法: create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] ); #注意: 1)在同一张表中,字段名是不能相同 2)宽度和约束条件可选 3)字段名和类型是必须的

1|01.表的创建

#示列: MariaDB [(none)]> create database db1 charset utf8; #创建库 MariaDB [(none)]> use db1; #选择切换到db1库 MariaDB [db1]> create table t1( #创建表,类型 -> id int, -> name varchar(50), -> sex enum('male','female'), -> age int(3) -> ); MariaDB [db1]> show tables; #查看db1库下所有的表名 MariaDB [db1]> desc t1; #查看表的类型结构 +-------+-----------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-----------------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(50) | YES | | NULL | | | sex | enum('male','female') | YES | | NULL | | | age | int(3) | YES | | NULL | | +-------+-----------------------+------+-----+---------+-------+ MariaDB [db1]> select id,name,sex,age from t1; Empty set (0.00 sec) MariaDB [db1]> select * from t1; Empty set (0.00 sec) MariaDB [db1]> select id,name from t1; Empty set (0.00 sec)

1|02.表的增加修改

#表插入数据 MariaDB [db1]> insert into t1 values (1,'egon',18,'male'), (2,'alex',81,'female') #注意注意注意:表中的最后一个字段不要加逗号 ; MariaDB [db1]> select * from t1; +------+------+------+--------+ | id | name | age | sex | +------+------+------+--------+ | 1 | egon | 18 | male | | 2 | alex | 81 | female | +------+------+------+--------+ MariaDB [db1]> insert into test(id) values -> (3), -> (4); MariaDB [db1]> select * from test; +------+------+------+--------+ | id | name | age | sex | +------+------+------+--------+ | 1 | egon | 18 | male | | 2 | alex | 81 | female | | 3 | NULL | NULL | NULL | | 4 | NULL | NULL | NULL | +------+------+------+--------+

1|4四、查看表结构

MariaDB [db1]> describe t1; #查看表结构,可简写为desc表名 +-------+-----------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-----------------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(50) | YES | | NULL | | | sex | enum('male','female') | YES | | NULL | | | age | int(3) | YES | | NULL | | +-------+-----------------------+------+-----+---------+-------+ MariaDB [db1]> show create table t1\G #查看表详细结构,可加\G *************************** 1. row *************************** Table: t1 Create Table: CREATE TABLE `t1` ( `id` int(11) DEFAULT NULL, `name` varchar(50) DEFAULT NULL, `sex` enum('male','female') DEFAULT NULL, `age` int(3) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 row in set (0.00 sec)

1|5五、表的数据类型

表数据类型详解

1|6六、表完整性约束

表完整性约束详解

1|7七、修改表 alter table

#语法: 1#)修改表名 ALTER TABLE 表名 RENAME 新表名; #示列: alter table table_name rename to new_table_name; #修改表名称 alter table table_name rename column age to age1; #修改表中列名称 2)#增加字段 ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…], ADD 字段名 数据类型 [完整性约束条件…]; ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…] FIRST; ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…] AFTER 字段名; #示列: alter table table_name add (column datatype [default value][null/not null],….); alter table test add (name varchar(30) default ‘无名氏’ not null); #添加字段 3)#删除字段 ALTER TABLE 表名 DROP 字段名; #示列: alter table table_name drop (column); #删除字段 alter table test drop column name; 4)#修改字段 ALTER TABLE 表名 MODIFY 字段名 数据类型 [完整性约束条件…]; ALTER TABLE 表名 CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…]; ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…]; #示列: alter table table_name modify (column datatype [default value][null/not null],….); #修改字段 alter table test modify (name varchar2(16) default ‘unknown’);

1|8八、复制表(表结构与表记录)

#复制表结构+记录 (key不会复制: 主键、外键和索引) mysql> create table new_service select * from service; #只复制表结构 mysql> select * from service where 1=2; #条件为假,查不到任何记录 Empty set (0.00 sec) mysql> create table new1_service select * from service where 1=2; Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> create table t4 like employees;

1|9九、删除表

#格式: DROP TABLE 表名; mysql> drop table t1; Query OK, 0 rows affected (0.04 sec)

__EOF__

本文作者ଲ小何才露煎煎饺
本文链接https://www.cnblogs.com/zeny/p/15121501.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ଲ小何才露煎煎饺  阅读(112)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示