MySql文章目录
文章目录
- MySql文章目录
- 一、MySql是什么?
- 二、命令操作
- 三、操作数据库
- 1.操作数据库
- 2. 数据库的列类型
- 3. 数据库的字段属性
- 四. 数据库引擎
- 1. DML语言(数据操作)
- 2. DQL语言(数据查询语言)
- 2.1 指定查询
- 2.2 去重 DISTINCT
- 2.3 数据库的列表达式
- 2.3 Where 条件子句
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 2.3 别名,给结果起名字 AS
- 1. 操作数据库
- 总结
- 数据查询语言 (Student)
提示:以下是本篇文章正文内容,下面案例可供参考
一、MySql是什么?
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、命令操作
1. 连接数据库
mysql -uroot -p123456
2. 查看所有数据库
所有的语句都是用;结尾
//查看所有数据库
show databases;
3. 切换数据库
//use 数据库名
use school;
4. 查看数据库中所有的表
show tables;
5. 显示数据库中表的所有信息
//describe 表名
describe student;
6. 创建数据库
//create database 库名;
create database user;
7. 退出连接
exit
8. sql注释
-- 单行注释
多行注释
/*
Hello
*/
三、操作数据库
操作数据库》操作数据库中的表》操作数据库中标的数据
1.操作数据库
1.1 查看数据库及表的信息
//查看创建数据库的语句
SHOE CREATE DATABASE school
//查看student数据表的定义语句
SHOE CREATE TABLE student
//显示表的结构
DESC student
2. 数据库的列类型
2.1 数值
- tinyint 是十分小的数据 1个字节
- smallint 较小的数据 2个字节
- mediumint 中等大小的数据 3个字节
- int 标准的整数 4个字节 (常用的)
- bigint 较大的数据 8个字节
- float 浮点数 4个字节
- double 浮点数 8个字节 (精度问题)
- decimal 字符串形式的浮点数 金融计算的时候用
2.2 字符串
- char 字符串固定大小 0-255
- varchar 可变字符串 0-65535 (常用的变量)
- tinytext 微型文本 2^8-1
- text 文本串 2^16-1 保存大文本
2.3 时间日期
- date YYYY-MM-DD 日期格式
- time HH:mm:ss 时间格式
- datetime YYYY-MM-DD HH:mm:ss 最常用的时间格式
- timestamp 时间戳 1970.1.1 到现在的毫秒数 (较为常用)
- year 年份表示
2.4 NULL
- 没有值
- 注意,不要使用null进行运算,结果为null 无意义
3. 数据库的字段属性
3.1 Unsigned
- 无符号的整数
- 声明了该列不能声明为负数
3.2 zerofill
- 0填充的
- 不足的位数,使用0来填充
3.3 自增
- 通常理解为,自动在上一条记录的基础上+1
- 设计唯一主键,必须是整数类型
3.4 非空
- 假设设置为not null ,如果不给赋值就会报错
- null 不填默认为null
3.4 默认
- 设置默认值
4. 创建数据库表

四. 数据库引擎
- INNODB 默认使用
- MyISAM 早些年的
| MyISAM | INNODB | |
|---|---|---|
| 事务支持 | 不支持 | 支持 |
| 数据行锁定 | 不支持(表锁) | 支持(行锁) |
| 外键约束 | 不支持(不能关联表) | 支持 |
| 全文索引 | 支持 | 不支持 |
| 表空间的大小 | 较小 | 较大,约为MyISAM 俩倍 |
常规使用操作
MyISAM 节约空间 速度较快
INNODB 安全性高,事务处理,多表多用户操作

1. DML语言(数据操作)
1.1 添加 Insert语句详解
INSERT INTO 表名 (字段名1,字段名2,字段名3, ...) VALUES (值1,值2,值3, ...)
注意事项
- 字段与字段之间使用英文逗号隔开
- 字段可以省略,但后面的值需一 一对应
- 可以同时插入多条,VALUES后面的值需使用逗号隔开 VALUES (),(),()…
1.2 修改 Update语句详解
//语法
UPDATE 表名 SET 字段名1 = '字段值1' WHERE [条件];
//不指定条件会改动所有表
UPDATE 表名 SET 字段名1 = '字段值1';
//修改多个属性值,用逗号隔开
UPDATE 表名 SET 字段名1 = '字段值1',字段名2 = '字段值2',... WHERE id = '';
//通过多个条件定位数据,无上限 and 或者 or
UPDATE 表名 SET 字段名1 = '字段值1' WHERE id = '' and name = '' and age = '';
条件:where 字句 运算符 id等于,大于某个值,在某个区间修改…
| 操作符 | 含义 | 范围 | 结果 |
|---|---|---|---|
| = | 等于 | 5=6 | false |
| <>或!= | 不等于 | 5<>6 | true |
| > | 大于 | ||
| < | 小于 | ||
| >= | 大于等于 | ||
| <= | 小于等于 | ||
| Between …and … | 在某个范围内 | [2-5] | |
| AND | 我和你 && 都满足 | 5>1 and 1>2 | false |
| OR | 我或你 满足其中一个 | 5>1 or 1>2 | true |
1.3 删除 Delete语句详解
//语法
Delete from 表名 where [条件]
//删除指定值
Delete from 表名 where id = '1';
1.4 清空表数据TRUNCATE语句
//完全清空一个数据库表,表的结构和索引约束不变
TRUNCATE 表名
delete 与 TRUNCATE的区别
不同点:
- TRUNCATE重新设置自增列,计数器会归零
- TRUNCATE不会影响事务
2. DQL语言(数据查询语言)
2.1 指定查询
//语法 查询全部数据
select * from 表名
select * from student;
//语法 查询指定字段
select 字段名,... from 表名;
select sid,sname,sage from student;
//语法,给结果起名字 AS
select 字段名 AS 别名,... from 表名;
select id AS 学号,studentName AS 姓名 from student;
// 给表起别名
select id AS 学号,studentName AS 姓名 from student AS A;
//函数 concat(a,b) 拼接 把a拼接到数据b
select CONCAT('姓名:',studentName) AS 新名字 from student;
2.2 去重 DISTINCT
//result 成绩表
select studentNo from result
//去掉重复数据
select distinct studentNo from result
2.3 数据库的列表达式
//查询系统版本(函数)
select version();
//用来计算(表达式)
select 100*3-1 AS 计算结果
//查询自增的步长(变量)
select @@auto_increment_increment;
//学员考试成绩+1 查看
select studentNo,studentResult+1 AS '提分后' from result
2.3 Where 条件子句
//studentResult 成绩
SELECT studentNo, StudentResult FROM result
--查询考试成绩在95~100分之间
SELECT studentNo," StudentResult FROM result WHERE StudentResult>=95 AND StudentResult<=100
-- and &&
SELECT studentNo, StudentResult FROM result WHERE studentResult>=95 && studentResult<=100
-- 模糊查询(区间)
SELECT studentNo, studentResult FROM result WHERE StudentResult BETWEEN 95 AND 100
--除了1000号学生之外的同学的成绩
SELECT studentNo, StudentResult’ FROM result WHERE studentNo! =1000;
-- != not
SELECT studentNo, StudentResult FROM result WHERE NOT studentNo = 1000
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
2.3 别名,给结果起名字 AS
1. 操作数据库
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
数据查询语言 (Student)
1.查询全部数据
select * from 表名
select * from student;
select sid,sname,sage from student;
2.查询指定别名 ( as关键字)
select sname as '姓名',sage as '年龄' from student;
3.条件查询(where 关键字)
// 查询所有男同学的基本信息 并且年龄在25岁以下
select * from student where sgender = '男' and sage > 25;
3.1逻辑运算符
not:非 and :与 or:或
4.空值查询(为空:is null;不为空:is not null)
// 查询地址为空的学生的姓名
select sname from student where saddress is null;
5.模糊查询(like 关键字)
// 查询姓王的学生的信息
select * from student where sname like '%王%';
// 查询姓王的学生的信息 并且是俩个字的
select * from student where sname like '王_';
5.1通配符
% 代表任意多个字符
_ 代表一个字符
6.去重查询(distinct 关键字 所有的数据类型一样才可以去重)
// 去掉重复的班级
select distinct gid from student;
7.限制返回行(limit 关键字)
// 只查三条数据
select * from student limit 3;
8.分页
// 第一个参数:每页第一条数据的下标=(当前页码-1)*每页显示条数
// 第二个参数:每页显示的条数
select * from student limit 0,3;
9.查询排序(order by 关键字)
// 默认升序(asc) 降序(desc)
select * from student order by sage;
// 先按班级,后按年龄
select * from student order by gid,sage;
// 查询学生年龄最大的信息
select * from student order by sage desc limit 1;
10.聚合函数(前面不能加列名,加上也有结果,但数据不准确)
// 班级学生的年龄和 sum:求和
select sum(sage) from student;
// 统计表中的记录数 count(*)
select count(*) from student;
// 统计班级学生的平均年龄 avg:求平均值
select sum(sage) from student;
// max():最大值 min():最小值
11.分组查询(group by 关键字)
// 查询每个班级有几名学生
select gid,count(*) from student group by gid;
//根据性别查询人数
select sgender,count(*) from student group by sgender;
//按照性别查询学生的平均年龄
select sgender,avg(sage) from student group by sgender;
//查询按照性别及年龄在25岁以上的学生的平均年龄
select sgender,avg(sage) from student where sage > 25 group by sgender;
//查询每个班级有几个学生并对统计后的数据进行排序
select gid,count(*) from student group by gid order by count(*);
12.
// An highlighted block
var foo = 'bar';
13.
// An highlighted block
var foo = 'bar';
版权声明:本文为weixin_43532744原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。