美文网首页
MySQL数据库中存储引擎和数据类型

MySQL数据库中存储引擎和数据类型

作者: Torin76 | 来源:发表于2018-08-21 09:15 被阅读12次

一.什么是存储引擎

二.操作存储引擎

  • 查看存储引擎
1.查看mysql支持的存储引擎
show engines;
2.看你的mysql当前默认的存储引擎
show variables like '%storage_engine%';
3.查看某个表使用的存储引擎

show create table 表名

show create table newpersonTable;
4.查看mysql服务器上的版本
select version();
5.在表上插入数据
-- 插入完整的数据记录
INSERT INTO test01 VALUES(103,'赵云'),(105,'关羽'),(106,'刘备')
-- 指定字段插入
INSERT INTO test01 (cID,`name`) VALUES(104,'张飞')

把一张一样结构的表的数据插入到另外一张相同结构的表中,先创建一张表,再把 test01表中的数据插入到test02

CREATE TABLE test02(
cID INT(11) NOT NULL,
name VARCHAR(20) DEFAULT NULL);
INSERT INTO test02 SELECT * FROM test01
6.数据的简单查询
-- 简单的数据查询
SELECT * FROM student
-- 指定字段名
SELECT age,stu_name FROM student
-- as 作为别名 as 也可以省略
SELECT age as '年龄',stu_name as '姓名' FROM student
7.避免重复数据查询distinct
-- 去重查询
SELECT  DISTINCT age,stu_name  FROM student
8.实现四则运算查询
-- 四则运算查询
SELECT age+10,stu_name FROM student
9.concat 格式化查询
-- 格式化
SELECT CONCAT('名字为',stu_name,'年龄是',age) FROM student

输出结果:

名字为san年龄是12
名字为san2年龄是13
名字为san年龄是13
名字为san2年龄是12
名字为san年龄是12
9.where 条件

<1>.运算符

--where条件查询
SELECT * FROM student WHERE age>12 
SELECT *FROM student WHERE sex = '男' AND age>=13
SELECT *FROM student WHERE salary  BETWEEN  2000 AND 4000

<2>带Null值的查询

SELECT *FROM student WHERE number_id IS NULL

<3>带IN关键字集合查询

SELECT *FROM student WHERE salary in (1000,1500,3000)

<4>带like关键字模糊查询
“_”通配符,该通配符值能匹配单个字符
“%”通配符,该通配符值可以匹配任意个数的字符

SELECT *FROM student WHERE stu_name like '李_'
SELECT *FROM student WHERE stu_name LIKE '李%'

输出结果分别为:

5   李微  1   男   12  17673043786         10000.00
4   李飞刀 1   男   12  17673043786         3500.00
5   李微  1   男   12  17673043786         10000.00

<5>ORDER BY语句查询
你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升排列。

--升序
SELECT *FROM student  ORDER BY salary ASC
--降序
SELECT *FROM student  ORDER BY salary DESC
10.统计函数
<1>count : image.png
-- 利用该函数计算月薪大于等于10000的学生个数
SELECT COUNT(salary) '薪资' FROM student WHERE salary>=10000

<2>AVG:平均值

-- 平均值
SELECT AVG(salary) '平均薪资' FROM student WHERE salary > 3000

<3>SUM:统计计算求和

-- 统计计算求和
SELECT SUM(salary) '薪水总和' FROM student

<4>MAX,MIN最大值最小值

-- 统计最大值和最小值
SELECT MAX(salary) '最高工资',MIN(salary) '最低工资',SUM(salary) '薪水总和'  FROM student
11.简单分组查询
--分组数据查询,和统计函数一起配合使用
SELECT '学生姓名',COUNT(*) FROM student GROUP BY stu_name
12.连接的使用

在前面我们已经学会了如果在一张表中读取数据,这是相对简单的,但是真正的应用中经常需要从多个数据表中读取数据,下面我们来一起学习如何使用JOIN来联合夺标查询.首先创建两张
表一:runoob_tbl

+-----------+--------------+---------------+---------------------+
| runoob_id | runoob_title | runoob_author | submission_date     |
+-----------+--------------+---------------+---------------------+
|         1 | 学习 PHP     | Torin学院     | 2017-04-12 00:00:00 |
|         2 | 学习MySQL    | Torin学院     | 2017-04-12 00:00:00 |
|         3 | 学习 Java    | RUNOOB.COM    | 2015-05-01 00:00:00 |
|         4 | 学习Python   | RUNOOB.COM    | 2016-03-06 00:00:00 |
|         5 | 学习C        | FK            | 2017-04-05 00:00:00 |
+-----------+--------------+---------------+---------------------+

表二:tcount_tbl

+---------------+--------------+
| runoob_author | runoob_count |
+---------------+--------------+
| Torin学院     |           10 |
| RUNOOB.COM    |           20 |
| Google        |           22 |
+---------------+--------------+

<1> INNER JOIN

SELECT a.runoob_id,a.runoob_author,b.runoob_count FROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;

输出如下:

+-----------+---------------+--------------+
| runoob_id | runoob_author | runoob_count |
+-----------+---------------+--------------+
|         1 | Torin学院     |           10 |
|         2 | Torin学院     |           10 |
|         3 | RUNOOB.COM    |           20 |
|         4 | RUNOOB.COM    |           20 |
+-----------+---------------+--------------+

<2>LEFT JOIN

SELECT a.runoob_id,a.runoob_author,b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_autho;r

输出如下:

+-----------+---------------+--------------+
| runoob_id | runoob_author | runoob_count |
+-----------+---------------+--------------+
|         1 | Torin学院     |           10 |
|         2 | Torin学院     |           10 |
|         3 | RUNOOB.COM    |           20 |
|         4 | RUNOOB.COM    |           20 |
|         5 | FK            |         NULL |
+-----------+---------------+--------------+

<3> RIGHT JOIN

SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a RIGHT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author

输出如下:

+-----------+---------------+--------------+
| runoob_id | runoob_author | runoob_count |
+-----------+---------------+--------------+
|         1 | Torin学院     |           10 |
|         2 | Torin学院     |           10 |
|         3 | RUNOOB.COM    |           20 |
|         4 | RUNOOB.COM    |           20 |
|      NULL | NULL          |           22 |
+-----------+---------------+--------------+

相关文章

  • 三、数据类型和约束

    1、数据类型 在MySQL数据库管理系统中,可以通过存储引擎来决定表的类型。同时,MySQL数据库管理系统也 提供...

  • A.001.3.Mysql存储引擎

    1.存储引擎的基本概念 2.MySQL 5.7 支持的存储引擎 3.MySQL数据库中的存储引擎 4.MySQL ...

  • MySql 常用指令

    MySQL常用指令 MySQL 存储引擎 选择 MySQL 数据类型

  • SQL学习笔记——存储引擎(了解)

    存储引擎 存储引擎是MySQL中特有的术语,其他数据库中没有(Oracle中有,但不叫这个名字)实际上,存储引擎是...

  • MySQL小记(一):存储引擎

    MySQL存储引擎 MySQL默认支持多种存储引擎,以适用于不同领域的数据库应用。MySQL5.0支持的存储引擎包...

  • 2、MySQL数据库引擎有哪些

    MySQL数据库引擎有哪些 如何查看mysql提供的所有存储引擎: mysql常用引擎包括:MyISAM、...

  • MySQL 常用存储引擎

    1、MySQL存储引擎概述 插件式存储引擎是MySQL数据库最重要的特性之一,用户可以根据应用的需要选择如何存储和...

  • MySLQ存储引擎

    1、MySQL存储引擎简介 插件式存储引擎是MySQL数据库最重要的特性之一,用户可以根据应用的需要选择如何存储和...

  • 5.1MySQL数据库基础考点

    全方位剖析 考点分析 MySQL数据类型延伸:MySQL的基础操作延伸:MySQL存储引擎延伸:MySQL存储机制...

  • Mysql 数据库存储引擎

        我们在使用 MySQL 数据库时,选择合适的存储引擎是很重要的。MySQL 数据库提供了多种存储引擎,它们...

网友评论

      本文标题:MySQL数据库中存储引擎和数据类型

      本文链接:https://www.haomeiwen.com/subject/eueibftx.html