【MySQL】数据库基础(表的操作)

目录

一、创建表

二、查看表结构

三、修改表

3.1 添加新列 

3.2 修改列属性

3.3 删除列属性

3.4 修改表名

3.5 向表中插入

3.6 修改列名

四、删除表


一、创建表

语法:

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

 说明:

  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

示例:

mysql> create table users(
    -> id int,
    -> name varchar(20) comment '用户名',
    -> password char(32) comment '用户密码,最多为32位',
    -> birthday date comment '生日'
    -> );

如果不设置字符集 、校验规则、存储引擎,系统会使用默认的选项。

可以看到Linux目录下有库对应的目录和表对应的文件。 

 

二、查看表结构

desc 表名;

示例:

 

  • Field: 字段的名称。
  • Type: 字段的MySQL数据类型。
  • Null: 这个字段是否可以为NULL。YES表示可以为NULL,NO表示不能为NULL。
  • Key: 表示这个字段是否是索引的一部分。
    PRI表示这个字段是主键,
    UNI表示这个字段是唯一索引的一部分,
    MUL表示这个字段是多列索引的一部分。
  • Default: 表示这个字段的默认值。
    如果这个字段可以有默认值,并且默认值是字符串类型,那么默认值会以单引号包围。
  • Extra: 这个字段包含了一些额外的信息,如是否为自动增长(auto_increment)、是否为非空(not_null)等。Extra字段为空,这意味着没有额外的信息。

三、修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

3.1 添加新列 

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);

圆括号()可以加也可以不加,方括号[ ]不用加。

示例:添加名为电话号码的新列 

 

可以在选项中使用 [after 列名] 指定在那一列后面。

3.2 修改列属性

ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...);

将users表中的name列的数据类型从VARCHAR(20)更改为VARCHAR(50),可以使用以下命令:ALTER TABLE users MODIFY name VARCHAR(50);

3.3 删除列属性

ALTER TABLE tablename DROP (column);

删除字段一定要小心,因为删除字段及其对应的列数据都没了。

3.4 修改表名

alter table 旧表名 rename to 新表名;

to 可省略,例如:alter table users rename employee;

3.5 向表中插入

insert into 表名 values(值1, 值2, 值3, ...);
insert into 表名 (列1, 列2, 列3, ...) values(值1, 值2, 值3, ...);
  •  方法1需要提供表中所有列的值,并且这些值必须与表中的列顺序和数据类型相匹配。
  • 方法2允许指定哪些列应该被插入,并且只提供这些列的值。如果不提供某个列的值,MySQL将自动为该列分配默认值(如果存在的话)。

3.6 修改列名

alter table 表名 change 旧列名 新列名 列属性;

需要对新列名再次设置属性。 

四、删除表

语法格式:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...;
  • 使用TEMPORARY时,它告诉MySQL删除一个临时表
  • IF EXISTS是一个可选的子句,如果使用它,当指定的表不存在时,MySQL将不会抛出错误。

示例:

drop table t1;

在MySQL中,DROP TABLE语句用于删除表。这个操作是不可逆的,一旦执行,表及其所有数据和结构都会被永久删除。在执行删除操作之前,要确保用户有足够的权限,并且已经备份了相关数据。

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值