MySQL数据库(二)--基本操作

一、连接数据库

mysql -uroot -p 密码 -h IP地址(默认本机localhost) -P 端口号(默认3306)

二、对库的操作

查看所有的库

SHOW DATABASES;

创建库

CREATE DATABASE 库名;
在这里插入图片描述

切换数据库

USE 库名;
在这里插入图片描述

删除数据库

DROP DATABASE 库名;

三、对表的操作

查看当前库中的所有表

SHOW TABLES;

创建表

CREATE TABLE 表名…;
在这里插入图片描述

查看表结构

DESC 表名;

查看建表语句

SHOW CREATE TABLE 表名(\G);
\G–格式化
在这里插入图片描述
在这里插入图片描述

删除表

DROP TABLE 表名;

四、数据操作

添加数据

1.为指定的字段添加一条数据(一一对应)

格式:INSERT INTO student(id,name) values(6,‘田七’);

2.不指定字段时,必须为所有字段添加数据(一一对应)

格式:INSERT INTO student values(5,‘赵六’,30,‘1’,‘z@163.com’,‘web’);

3.一次插入多条数据

格式:INSERT INTO 表名(字段1,字段2,…) VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;
在这里插入图片描述

更新数据

格式:UPDATE 表名 SET 修改的字段和值 WHERE 条件;
在这里插入图片描述

删除数据

格式:DELETE FROM 表名 WHERE 条件;

查询数据

格式:SELECT 字段 FROM 表名;
在这里插入图片描述

五、数据的数据类型

数值

1.int    4字节
2.tinyint   1字节
3.decimal  一般存浮点型

格式:DECIMAL(M,D)

M你要存的数据,D保留几位小数

:decimal(1234,2) 12.34

字符串

1.char–定长字符串

char(20)
就算你当前字段中只存储了1个字符,那么它也是占据20个字符的大小。

2.varchar–变长字符串

varchar(20)
最多能存20个字符,如果存了小于20个字符,它的实际占据大小是以你存的内容为准。

3.text–文本类型

六、常见的字段约束

unsigned

无符号,一般给数值型的字段添加,如果添加代表当前字段只能存正数。
使用时需要跟在数值类型后面,否则会报错。

int(5)

5代表显示的宽度,如果有符号默认是11,如果无符号默认是10。

not null

不能为空,默认字段可以为空,如果添加了,那么此字段不能为空。

default

默认值。

primary key

主键约束(主键索引),不能为空,且唯一,用于表示数据的唯一标识。

unique

唯一约束(唯一索引),可以为空,且唯一。

auto_increment

自动递增,一般配合主键使用。

练习

创建一张表demo,
有字段id,主键;
uname,字符串类型,不能为空;
email,字符串类型,可以为空;
gender,字符串类型,不能为空,默认值为 2。

在这里插入图片描述

七、表结构操作

格式:ALTER TABLE 表名 操作;

添加字段-ADD

在这里插入图片描述

修改字段

modify:只能修改字段的类型和约束。

change:可以修改字段的类型和约束,也可以修改字段名。

1.MODITY

修改时,会将之前对该字段的约束覆盖。

!!!注意:将字符串转成数值型的时候,当前字段的值都必须是数字表示的字符串。
在这里插入图片描述
在这里插入图片描述
修改字段约束

ALTER TABLE student MODIFY phone char(11);
在这里插入图片描述

2.CHANGE

修改字段名和约束

ALTER TABLE student CHANGE phone aa varchar(11);

仅修改约束

ALTER TABLE student CHANGE aa aa char(11);

在这里插入图片描述

删除字段–DROP

ALTER TABLE student DROP aa;

修改表名–RENAME AS

在这里插入图片描述

修改表的编码方式

在这里插入图片描述

修改自增值

在这里插入图片描述

八、条件查询

运算符,可以用在where条件中。

格式:SELECT * FROM 表名 WHERE 条件;

练习

在这里插入图片描述
1.查询年龄不等于18岁的所有用户信息
在这里插入图片描述
2.查询班级为python的所有用户信息
在这里插入图片描述
3.查询年龄大于18岁的所有用户信息
在这里插入图片描述
4.查询年龄在18到24岁之间的所有用户信息,包含18和24岁;
在这里插入图片描述
方法2
between and–在…之间,包括两端。
SELECT * FROM students WHERE age between 18 and 24;

5.查询年龄不在18到24之间的所有用户信息
在这里插入图片描述
方法2
在这里插入图片描述
方法3
not between and–不在…之间,不包括两端。
SELECT * FROM students WHERE age not between 18 and 24;

6.查询id值是1,3,4,6的所有用户信息
在这里插入图片描述
方法2
在这里插入图片描述
7.查询python班和web班级的所有女生信息
在这里插入图片描述

九、模糊查询–like

%:任意位的任意字符
_:一位任意字符

练习

在这里插入图片描述
1.查询名字以‘张’开头的用户信息
在这里插入图片描述
2.查询emial中包含q的所有用户信息
在这里插入图片描述
3.查询姓名是两个字的用户信息
在这里插入图片描述
4.查询姓名以小开头并且是两个字的用户信息
在这里插入图片描述

十、聚合函数

max()
min()
count()
avg()
sum()

练习

1.统计当前表中一共有多少条数据
在这里插入图片描述
2.查询python班级最大年龄最小年龄以及平均
在这里插入图片描述
3.统计男生的数量
在这里插入图片描述

十一、去除重复数据–DISTINCT

1.查询所有的班级
在这里插入图片描述
2.查询不重复的班级和性别
在这里插入图片描述

十二、分组–group by

!!!注意:count(*)在分组中使用时,统计的分别是分组后每个组的数据条数。

练习

1.查询表中有哪些班级
在这里插入图片描述
2.统计当前表中男生和女生的人数各多少人
在这里插入图片描述
3.统计每个班级的人数
在这里插入图片描述
4.统计每个班,男生和女生各多少人
在这里插入图片描述

子句查询–having

只能在分组后面使用。
类似于where,但是having筛选的是分组后的数据。

练习

1.统计每个班级的人数,并查询出班级人数大于2的班级
在这里插入图片描述
2.查询男生人数大于1的班级
在这里插入图片描述
方法2
先查询出所有的男生,再按照班级分组,然后再用having过滤。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值