MySQL数据库基础操作

一、增删改查

数据库在我的理解里,无非就是对数据的存储和增删改查
-- 每个sql语句后面要以分号结尾
-- sql不区分大小写

-- 查询数据库
show databases;

-- 创建数据库
create database 数据库名称;

-- 查询数据库信息(返回的是数据库名称 , 使用的字符编码)
show create database 数据库名称;

-- 修改数据库编码
alter database 数据库名称 character set 字符编码;

-- 使用/切换数据库
use 数据库名称;

-- 查看当前所在的数据库
select database();

-- 删除数据库
drop database 数据库名称;

二、数据类型

1、字符串类型

1、 char(n)	: 最大是能存储255个字符;n表示字符长度
2、varchar(n) :最大是能存储65535个字符
3、enum :在指定的数据中选择一个数据(单选)
4、set :在指定的数据中选择一个或者多个(多选)

2、数值类型

1、int(n) : 存储整数范围在+-21亿以内的11位整数
2、float(m , d) : 单精度浮点型,留存小数点后6-7位(m:表示数据的总长度; d:表示小数位数)
3、double(m , d) : 双精度浮点型,留存小数点后15位(m:表示数据的总长度; d:表示小数位数)
# 浮点型会存在精度丢失问题

3、时间类型

1、year:年
2、date:年月日("年-月-日")
3、time:时分秒("时:分:秒")
4、datetime:年月日时分秒("年-月-日 时:分:秒")
写入时间是必须使用引号包裹

三、表操作

1、 表的创建

create table 表名(
	字段名 数据类型,
    字段名 数据类型,
    字段名 数据类型
);
-- 写到最后一个字段的时候 , 不需要加逗号
-- 字段名相当于列名
-- 创建表的代码只运行一次 , 重复运行报错:表已经存在 1050 - Table 't1' already exists
-- 创建数据表
create table t2(
	name char(10),
	sex enum('男','女'),
	age int(3),
	birthday  datetime,
	height  double(3 , 2)
);

2、表数据插入

-- 添加一条完整的数据
insert into 表名 values(数值 , ……);

-- 添加多条完整的数据
insert into 表名 values
(数值 , ……),
(数值 , ……),
……
(数值 , ……),
(数值 , ……);

-- 添加指定字段的数据
insert into 表名(字段名,……) values(数值 , ……);

-- 添加多条指定字段的数据
insert into 表名(字段名,……) values
(数值 , ……),
(数值 , ……),
……
(数值 , ……),
(数值 , ……);
insert into t2 values
('星奕' , '男' , 24 , '2003-7-11 12:30:30 ' , 1.79);

insert into t2 values
('梁山伯' , '男' , 19 , '2005-6-18 5:15:25' , 1.75),
('小谦' , '女' , 19 , '1998-2-2 3:33:33' , 1.78),
('小雨' , '女' , 19 , '2003-7-15 7:15:15' , 1.75);

3、表字段的操作

1、 字段的增加
-- 默认在表末尾增加
alter table 表名 add 字段名 数据类型;

-- 添加在第一个字段
alter table 表名 add 字段名 数据类型 first;

-- 添加到某一个字段之后
alter table 表名 add 字段名 数据类型 after 字段名(被指定);
alter table t1 add age int(3);
alter table t1 add id int(5) first;
alter table t1 add class int(10) after name;
2、字段长度/数据类型的修改
alter table 表名 modify column 字段名 数据类型(长度);

注意:修改长度不能小于原有的长度 , 否则原有的数据就会被破坏,不可修复。

3、 查看表结构
desc 表名
-- 查看出表中的字段类型 , 以及长度 , 以及约束

在这里插入图片描述

4、字段名的修改
alter table 表名 change 旧的字段名  新的字段名  数据类型;
5、删除字段
alter table 表名 drop column 字段名;
6、清空表数据
delete from 表名;
7、修改表名
alter table 表名 rename 新的表名;
8、删除表
drop table 表名;

4、表数据查询

-- 查询表中所有字段的所有数据
select * from 表名;

-- 查询指定字段的数据
select 字段名,…… from 表名;
-- 查询数据
select * from t2;

select name , age from t2;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ksDMt3mx-1679970046750)(C:\Users\86180\AppData\Roaming\Typora\typora-user-images\1679969943733.png)]

5、where 子句

通过筛选得到我们想要的数据

比较符号
=	等于
!=
>
<
>=
<=

逻辑运算
and
or
not

(数字要从小到大)
between  在两个值之间
not between
in  在指定集合之间
not in

where子句可以写在查询 , 修改 , 删除语句后面进行条件判断

-- 查询数据
select * from t2 where 条件;

select name , age from t2 where 条件;
-- 查询数据
-- select * from t2;
-- 
select name , age from t2;

-- 查询age小于20的
select * from t2 where age<20;

-- 查询age在15跟20之间的
select * from t2 where age between  15 and 20;

-- 查询age在(15 , 18 , 20 , 24)
select * from t2 where age in(15,18,20,24);
select * from t2 where age not in(15,18,20,24);

6、聚合函数

-- 求平均值
avg(字段名)
-- 求最大值
max(字段名)
-- 求最小值
min(字段名)
-- 求和
sum(字段名)
-- 统计一个字段的数据条数(长度)
count(字段名)
-- 求age的平均值
select avg(age) from t2;

-- 获得age最大的同学的所有信息
select name , max(age) from t2;

-- 统计name有多少条数据
select count(name) from t2;

-- 统计birthday有多少条数据
select count(birthday) from t2;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值