MySQL学习笔记——第三章:表的相关操作

MySQL入门学习笔记


第三章:表的相关操作

3.1 创建表的语句

3.1.1 建表的语法格式

create table 表名(
字段名 字段类型,
字段名2 字段类型,
字段名3 字段类型,
... ...
);

3.1.2 MySQL中常用的数据类型

int:整型
bigint:长整型
float:浮点型
char:定长型字符串
varchar:可变长型字符串
date:日期类型
blob:二进制对象,主要用来存储图片,视频等信息

3.1.3 char()和varchar()的区别

例如:
create table stu(id int,name char(6));中的char(6)表示stu表中的name最长可以存储6个字符的长度,如果长度不到6个字符,也会按照6个字符的长度进行存储。
create table stu(id int,name varchar(6));中的varchar(6)表示的stu表中的name最长可以存储6个字符的长度,如果长度不到6个字符,会按照实际的长度进行存储。
Oracle/SQL Server中:create table stu(id int,name varchar(6));name最长可以存储2个汉字(字符),原因是在以上的两个数据库管理系统中默认的字符集为utf-8,默认一个汉字占3个字节。

3.1.4 开始建表

-- 先建库
create database students;

-- 切换到studednts 数据库
use students;

-- 建表
create table stu_table(id int,name char(3),age int,sex char(1));

-- 最后查看表
show tables;

3.2 insert 插入数据

3.2.1 插入数据的语法格式

insert into 表名(字段1,字段2,字段3,...) values(值1,值2,值3,...);

-- 注意:前面的字段类型,要能够和后面的值进行匹配

举例:往 stu_table 表中插入数据 2022001 ‘张三’ 18 ‘男’

insert into stu_table(id,name,age,sex)values(2022001,'张三',18,'男');

3.2.2 查询数据

select * from 表名;

举例:查询出stu_table表中的所有数据

select * from stu_table;

在这里插入图片描述

3.2.3 查看表的定义

desc 表名;

举例:查看stu_table表的定义

desc stu_table;

在这里插入图片描述

3.2.4 交换值顺序进行插入数据

insert into stu_table(name,id,sex,age)values('李四',2022002,'男',19);

3.2.5 只写部分字段和对应的值

注意:没有插入的值会按照默认值进行插入,一般以null值进行插入

-- 插数据
insert into stu_table(id) values(2022003);

-- 查数据
select * from stu_table;

在这里插入图片描述

3.2.6 省略字段插入值

注意:插入的值要和默认的字段类型相匹配

insert into stu_table()values(2022004,'赵六',29,'男');

3.2.7 删除表

-- 方案1
drop table 表名;

-- 方案2(推荐)
drop table if exists 表名;

举例:将stu_table表删掉

drop table if exists stu_table;

3.2.8 修改默认值

举例:创建一张表叫stu_table2,有id,name,age,sex字段,将age的默认值设置为18

-- 建表
create table stu_table2(id int,name varchar(255),age int default 18,sex char(1));

-- 查看表定义
desc stu_table2;

在这里插入图片描述

3.2.9 一次性插入多条数据

注意:字段可以省略不写,但也要与字段类型相匹配

-- 插入数据
insert into stu_table(id,name,age,sex)values(2022001,'张三',20,'男'),(2022002,'李四',26,'男'),(2022003,'王五',21,'男');

-- 查看数据
select * from stu_table;

在这里插入图片描述

3.3 表的赋值及批量插入

3.3.1 select 复制整张表

-- 语法结构
create table 表名 as select * from 被复制的表名;

举例:将stu_table表进行复制,复制后的表叫做stu_table3

create table stu_table3 as select * from stu_table;

在这里插入图片描述

3.3.2 复制表中的部分字段

-- 复制表中部分字段
create table stu_table4 as select id,name from stu_table;

-- 查看数据
select * from stu_table4;

在这里插入图片描述

3.4 修改数据

-- 语法格式
update 表名 set 字段名1=值1,字段名2=值2,... where 条件;

-- 注意:如果不添加where条件将会默认修改整张表中的所有数据

举例:将stu_table表中的id为2022001的年龄改为30岁

update stu_table set age=30 where id=2022001;

在这里插入图片描述

3.5 删除数据

3.5.1 删除表中的部分数据

-- 语法格式
delete from 表名 where 条件;

--注意:如果不添加where条件默认会删除整张表中的数据

举例:删除stu_table表中年龄大于25岁的员工信息

delete from stu_table where age>25;

3.5.2 删除表中的所有数据

 delete from 表名;
 -- 不添加where条件就会删除表中的所有的数据

3.6 删除大表

-- 语法格式
truncate table 表名;

注意:当表的数据量比较大时,使用delete语句的执行效率会非常的低,因为delete语句删除的只是数据,并没有释放真实的存储空间,表结构还在。所以为了提高删除效率,可以采用truncate语句进行删除,但是删除数据之后,是不可以恢复的。

3.7 表结构的修改

3.7.1 修改表的字段

-- 语法结构
alter table 表名 modify 字段名称 字段类型;

举例:将stu_table表中的name 字段类型修改为varchar(10)

alter table stu_table modify name varchar(10);

3.7.2 添加表的字段

-- 语法格式
alter table 表名 add column 字段名 字段类型;

举例:在stu_table表中添加一个字段叫phone 字段类型为 int

alter table stu_table add column phone int;

3.7.3 删除表中的字段

-- 语法格式
alter table 表名 drop column 字段名称;

举例:删除stu_table表中的phone字段

alter table stu_table drop column phone;

3.8 修改表名

-- 语法格式
alter table 旧表名 rename to 新表名;

3.9 修改字段的名称

-- 语法格式
alter table 表名 change column 旧字段名 新字段名 字段类型;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值