Mysql-黑马
编写规范:## 一级1. 二级三级
1.Mysql概述
- 数据库概念
- mysql数据仓库
cmd启动和停止
net start mysql180
net stop mysql180
备注:其中的mysql180是服务名
客户端连接
远程连接数据仓库
-h 主机号 -P端口号
mysql [-h 127.0.0.1] [-P 3306] -u root -p
连接本地的mysql
mysql -u root -p
数据模型
2.SQL
- SQL通用语法
注释:
单行注释
--内容--
# 内容
多行注释
/*内容*/
-
SQL分类
DDL 数据定义字段(数据库,表,字段)
DML 数据操作字段(增删改)
DQL 数据查询字段(查)
DCL 数据控制语言(创建数据仓库用户,控制数据库的访问权限) -
DDL
#查询所有数据库
SHOW DATABASES;
#查询当前数据库
SELECT DATABASE();
#创建数据库
CREATE DATABASE 数据库名;
#创建数据库判断是否存在
CREATE DATABASE IF NOT EXISTS 数据库名;
#创建一个数据库指定字符集
CREATE DATABASE 数据库名 DEFAULT CHARSET utf8mb4;
#删除数据库[IF EXISTS]
DROP DATABASE IF EXISTS 数据库名
#切换数据库
USE 数据库名
数据类型
表操作-创建
#表操作
#查询当前数据库的所有表
SHOW TABLES
#查看指定表结构
DESC 表名
#查询指定表的建表语句
SHOW CREATE TABLE 表名
#创建表结构
CREATE TABLE tb_user(
id INT COMMENT '编号',
user_name VARCHAR(50) COMMENT '姓名',
age VARCHAR(50) COMMENT '年龄',
gender VARCHAR(1) COMMENT '性别'
)COMMENT '用户表';
表操作-修改
#添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMIT '注释'] [约束]
#修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度)
#修改字段名和字段类型
ALTER TABLE 表名 DROP 字段名
#删除字段
ALTER TABLE 表名 DROP 字段名
#修改表名
ALTER TABLE 表名 RENAME TO 新表名
表操作-删除
#删除表
DROP TABLE [IF EXISTS ] 表名
#删除指定表,重新创建表
TRUNCATE TABLE 表名
- Datagrip 安装
- DML
添加数据
#给指定字段添加数据
INSERT INTO 表名 (字段名1,字段名2,...) VALUES (值1,值2,...)
#给全部字段添加数据
INSERT INTO 表名 VALUES (值1,值2,...)
#批量添加数据
INSERT INTO 表名 (字段名1,字段名2,...) VALUES (值1,值2,...),(值1,值2,...),
(值1,值2,...)INSERT INTO 表名 VALUES (值1,值2,...),(值1,值2,...),
(值1,值2,...)
修改数据
# 修改数据
UPDATE 表名 SET 字段名1=值1,字段名2=值2,... [WHERE 条件]
删除数据
# 删除数据 delete语句不能删除指定的字段名,删除的是一条数据
DELETE FROM 表名 [WHERE 条件]
- DQL
SELECT 字段名FROM 表名列表WHERE 条件列表GROUP BY 分组字段列表HAVING 分组后条件列表ORDER BY 排序字段列表LIMIT 分页参数
- 基本查询(不带任何条件)
- 条件查询(where)
- 聚合函数(count max min avg sum)
- 分组查询(group by)
- 排序查询(order by)
- 分页查询(limit)
基础查询
#查询多个字段
SELECT 字段1,字段2 FROM 表名
SELECT * FROM 表名
#字段设置别名
SELECT 字段1 [AS 别名1],字段2[AS 别名2] FROM 表名
SELECT 字段1 [别名1],字段2 [别名2] FROM 表名
#去除重复记录
SELECT DISTINCT 字段列表 FROM 表名
条件查询
#条件查询
SELECT 字段列表 FROM 表名 WHERE 条件列表
常用比较计算符… 常用逻辑计算符…
聚合函数
#聚合函数count max min avg sum 注意null不参与所有聚合函数的计算
SELECT 聚合函数(字段列表) FROM 表名
分组函数
#where 不能对聚合函数判断 having可以
SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组过滤后的条件]
排序查询
#ASC 升序 DESC 降序
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2
分页查询
SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数#起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数#分页查询时数据库的方言,不同数据库有不同的实现,mysql中是limit#如果查询的是第一页数据,起始索引可以省略,直接简写limit 10
- DCL
管理用户
权限控制