Linux下学【MySQL】表的必备操作

表的操作
对于表的操作需要注意的是:
不要轻易的去修改表的名字,类型,结构
因为数据库表是在比较底层的,当修改了表后,上层代码很大可能会发生问题!

1.创建表
语法:

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

具体使用:
1.
create table if not exists user1(
id int,
name varchar(20) comment '用户名',
password char(32) comment '密码',
birthday date comment '生日'
)character set utf8 collate utf8_general_ci engine MyIsam;

其中
comment 是该名称的别名,方便查看
if not exists 和库的一样,判断是否有存在

2.
create table user2(
id int,
name varchar(20) comment '用户',
password char(32) comment '密码',
birthday date comment '生日'
)charset=utf8 collate=utf8_general_ci engine=InnoDB;
对比两次创表过程:最后的字符集和校验规则以及存储引擎
有两种自定义的方法:

character set utf8 collate utf8_general_ci engine MyIsam;
charset=utf8 collate=utf8_general_ci engine=InnoDB;

1.1 表的存储引擎
user1 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:

user1.frm:表结构
user1.MYD:表数据
user1.MYI:表索引
user2 表存储引擎是 InnoDB ,在数据目中有的文件是:

user2.frm:表结构
user2.ibd:表空间文件,用于存储数据和索引

附:
当不指定写字符集和校验规则以及存储引擎的话就会默认成配置文件所默认的。配置文件所在的地址:/etc/my.cnf

1.2查看表
语法:

show tables;

1.2.1 查看表结构(详细信息)
语法:

desc 表名;

1.2.2 查看创建表的语句
语法:

show create table 表名;
show create table 表名 \G;#加上\G格式化展示

1.2.3 查看创建表中的数据
语法:

select * form 表名;

1.3修改表
1.3.1 插入数据(新插入一行)
语法:
insert into 表名 (列名)values(对应信息);

上图看出若不加列名表示在所有的行都添加信息,反之在values前面加上括号就指定了在某列中添加信息(下图在指定id处添加4)

1.3.2表中添加新一列(属性)
语法:
alter table 表名 add 新列名 列的类型 comment '描述' after 放在那一行后面

具体使用:

1.3.3 修改某一列(属性)的类型
语法:
alter table tablename modify rowname 新类型;

注:
其中我们在修改时,最好写全了(包括描述),因为这是覆盖式的修改
不写全的话:

1.3.4 修改表名
语法:
alter table 表名 rename to 新的表名;

其中 to 可以省略

1.3.5 修改列名(属性名)
语法:
alter table 表名 change 列名 新列名;

注:在重命名列名时必须要加类型,并且的同样的最好写全了!

1.4删除表
语法:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
具体使用:
drop table user1;

1.5删除某一列
语法:
alter table 表名 drop 列名;
注:一般不要删,删除后该行的数据就再也找不到了,并且也会影响所有上层用到该数据库的地方

————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/ZYK069/article/details/143887826

阅读剩余
THE END