Mysql快速上手一(基础知识数据模型数据类型SQL语句)
Posted 李和贵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql快速上手一(基础知识数据模型数据类型SQL语句)相关的知识,希望对你有一定的参考价值。
文章目录
mysql基础知识
基本概念
本地mysql服务启动与停止
这里的mysq对应的是windows下的服务名称,可能会有所出入
net start mysql
net stop mysql
也可以直接在服务中,点击选择开启与关闭
客户端连接mysql
windows可以直接使用cmd进行连接本地的mysql,(别忘了配置mysql的全局环境变量)
mysql [-h 127.0.0.1] [-p 3306] -u root -p
连接本地的时候直接使用
mysql -u 用户名 -p
然后输入你的密码即可
数据模型
关系型数据库
概念:建立在关系模型基础上,由多张项目连接的二维表组成的数据库
数据模型
数据类型
- 数值类型
- 字符串类型
- 日期类型
SQL语句
DDL
数据定义语言,用来定义数据库对象(数据库,表,字段)
表操作
- 添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMIT 注释] [约束];
- 修改字段
ALTER TABLE 表名 MODIFY 字段名 新数据长度;
- 修改表名
示例:将 person表改为student表ALTER TABLE 表名 RENAME TO 新表名
alter table person rename to student;
- 删除表
示例:DROP TABLE [ IF EXISTS ] 表名;
drop table if exists teachers;
库操作
-
查询所有数据库
SHOW DATABASE;
-
查询当前数据库
SELECT DATABASE();
-
创建
CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAUT CHARST 字符集 ] [ COLLATE 排序规则 ] ;
-
删除
DROP DATABASE[ IF EXISTS ] 数据库名;
-
使用
USE 数据库名;
-
查询当前数据库所有表
SHOW TABLES
-
查询表结构
DESC 表名
-
查询指定表的建表语句
SHOW CREATE TABLE 表名;
-
创建表
CREATE TABLE 表名 字段1 类型 1[ COMMIT 字段1注释 ], 字段2 类型 2[ COMMIT 字段2注释 ],
示例:我们创建一个十分简单的教师表teacher
CREATE TABLE teacher ( id INT COMMENT '唯一编号', NAME VARCHAR ( 50 ) COMMENT '名字', gender VARCHAR ( 10 ) COMMENT '性别' );
-
删除表
drop table if exists teachers;
删除并重新创建表
truncate teachers;
DML
数据库操作语言,用来对数据库表中的数据进行增删改
- 表中插入数据
注意:键值位置要一一对应
也可以这样写,但是得与表中得顺序一一对应INSERT INTO student ( NAME, age, gender, address ) VALUES ( '测试', 22, '男', '数据库' );
也可以一次插入多个数据INSERT INTO student VALUES ( 18,'测试', 22, '男', '数据库' );
INSERT INTO student VALUES ( 19, '测试', 22, '男', '数据库' ), ( 20, '测试', 22, '男', '数据库' ), ( 21, '测试', 22, '男', '数据库' );
- 更新数据
UPDATE student SET NAME = 'uuuuuuu' WHERE gender = '男';
- 删除数据
DELETE FROM student WHERE address = '数据库';
DQL
数据查询语言,用来查询数据库中表的记录
-
基本查询
SELECT NAME FROM student;
别名
SELECT NAME AS '姓名' FROM student;
-
条件查询(WHERE)
-
聚合查询 (count、max、min、avg、sum)
NULL 值不参与计算
-
分组查询 (GROUP BY)
WHRER和HAVING的区别
执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤
判断条件不同:where不是对聚合函数进行判断,而having可以 -
排序查询 (ORDER BY)
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;
排序方式
- ASC 升序
- DESC 降序
示例:获取年龄相同升序,同龄的按照入职时间降序排列
SELECT * FROM emp ORDER BY age ASC, entrydata ASC;
-
分页查询 (LIMIT)
SELECT * FROM 表名 LIMIT 页数,查询记录数;
DCL
数据控制语言,用来创建数据库用户,控制数据库的访问权限
- 创建用户(仅在本地)
任意IPCREATE USER 'itecast' @localhost IDENTIFIED BY '123456';
修改用户密码CREATE USER 'itecast' @'%' IDENTIFIED BY '123456'
参考资料
作为笔记,后面会持续更新该方面
ElasticSearch基础-快速上手
参考技术AMySql是关系型数据库,ES是文档型数据库,他们有一些相同的概念,只是叫法不一样。
settings是关于索引的设置,mappings定义索引的映射(表结构)。
2. 删除、关闭、打开索引
3. 为索引创建别名
1.查看映射
2.扩展映射
只能新增、不能修改。
3.基础数据类型
keyword: 不进行分词,对应term精准查询
text:分词,建立倒排索引,对应math搜索、如果使用term是无法搜索出数据的。
数值类型:byte、short、integer、long、float、double、half_float、scaled_float、
unsigned_long,对应term搜索和range搜索。
boolean:布尔类型
date:日期类型
4.复杂数据类型
普通对象:通常用在一对一关系场景。
内嵌对象:通常用在一对多关系场景、而且有内嵌对象条件查询的场景。
父子关系:通常用在父子文档更新很频繁,可以只更新父文档或只更新子文档的场景。
地理类型:地理查询
1.单个创建
2.批量创建
3.单个更新
4.批量更新
5.根据条件更新
6.upsert
存在则用doc内容去更新,不存在则用upsert内容去创建
7.单个删除
8.批量删除
9.根据条件删除
以上是关于Mysql快速上手一(基础知识数据模型数据类型SQL语句)的主要内容,如果未能解决你的问题,请参考以下文章
python基础知识(具备其他编程语言基础快速上手python)