MySQL基础(一)

目录

数据库

Mysql概述

启动、停止、连接

启动、停止

连接

SQL通用语法

SQL

数据类型

DDL(数据定义语言)

DDL—数据库操作

DDL—表操作

查询

创建

修改

删除

DML(数据操作语言)

添加

修改

删除

 DQL(数据库查询语言)

基本查询

条件查询

聚合函数

分组查询

排序查询

分页查询

DQL执行顺序

DCL(数据控制语言)

管理用户

权限控制

函数

字符串函数

数值函数

日期函数

流程函数

数据库

Mysql概述

启动、停止、连接

启动、停止

方法一

cmd窗口中以管理员身份运行,在命令行中输入指令(一般开机自启动)

net start mysql80 //启动mysql
net stop mysql80//停止mysql

方法二

任务管理器 ——服务中启动与停止

连接

方法一:

开始菜单——所有应用——找到mysql命令行工具输入密码连接

方法二:

SQL通用语法

SQL

  • SQL语句可以单行或多行书写,以分号结尾
  • SQL语句可以使用空格/缩进增加可读性
  • MySQL的SQL语句不区分大小写,关键字建议用大写

注释:

单行注释:--注释内容或#注释内容

多行注释:/*注释内容*/

数据类型

你好

  • 当数据为CHAR(M)类型时,不管插入值的长度是实际是多少它所占用的存储空间都是M个字节
  • 而VARCHAR(M)所对应的数据所占用的字节数为实际长度加1

DDL(数据定义语言)

DDL—数据库操作

查询所有数据库

SHOW DATABASES;

查询当前数据库

SELECT DATABASE();

创建数据库

CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAUL CHARSET字符集] [COLLATE 排序规则];

删除数据库

DROP DATABASE [IF EXISTS] 数据库名;

使用数据库

USE 数据库名;

DDL—表操作 

查询

 查询当前数据库所有表

SHOW TABLES;

查询表结构

DESC 表名;

查询指定表的建表语句

SHOW CREATE TABLE 表名;
创建
CREATE TABLE 表名(
    字段1 字段1类型[COMMENT 字段1注释],
    字段2 字段2类型[COMMENT 字段2注释],
    字段3 字段3类型[COMMENT 字段3注释],
    …………
    字段n 字段n类型[COMMENT 字段n注释]
)[COMMENT 表注释];
修改

 修改表名

ALETER TABLE 表名 RENAME TO 新表名;

添加字段

ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释] [约束];

修改数据类型

ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

修改字段名和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT 注释][约束];
删除

删除字段

ALTER TABLE 表名 DROP 字段名;

删除表

DROP TABLE[IF EXISTS] 表名;

删除指定表,并重新创建该表

TRUNCATE TABLE 表名;

DML(数据操作语言)

对数据库中表的数据记录进行增删改操作

  • 添加数据(INSERT)
  • 修改数据(UPDATE)
  • 修改数据(DELETE)

添加

指定字段添加数据

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,……(wher条件);

删除

DELETE 表格 [WHERE 条件];

有条件会删除符合条件的整行,没有条件则删除整张表的数据

 DQL(数据库查询语言)

DQL编写顺序:

各种查询可以搭配组合使用

基本查询

查询多个字段

SELECT 字段1[AS 别名1],字段2[AS 别名2]{别名2}……FROM 表名;

设置别名

SELECT + 字段1[AS 别名1],字段2[AS 别名2] ……FROM表名();

去除重复记录

SELSECT DISTINCT 字段列表 FROM 表名;

select * from查询所有字段

关键字 as可省略

条件查询

​​​​​​​SELECT 字段列表 FROM 表名 WHERE 条件列表;

聚合函数

将一列数据作为一个整体,进行纵向计算

这些函数是对一列数据整体进行操作

select 聚合函数(字段列表) from 表名 

1、null值不参与所有聚合函数运算

2、聚合函数通常与以下关键字一起使用:SELECT,GROUP BY,ORDER BY,HAVING,WITH,OVER,UNION 或 UNION ALL,JOIN,子查询内部使用

3、聚合函数不能在 WHERE 子句中直接使用,因为 WHERE 子句在数据聚合前对行进行过滤,而聚合函数作用于一组行以生成单个值。但是,可以通过子查询或标量子查询间接在 WHERE 子句中使用聚合函数的结果。

分组查询

group by:按照分组字段名将查询到的字段列表进行分组

排序查询

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1, 字段2 排序方式2;
  • 排序方式:

  • ASC:升序(默认,可省略 )
  • DESC:降序

注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。

分页查询

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;

分页查询要写在最后

DQL执行顺序

了解执行顺序,就可以在正确位置起别名进行简化

DCL(数据控制语言)

  • 控制哪些用户可以访问数据库
  • 控制每个用户有哪些访问权限

管理用户

查询用户

USE mysql;
SELECT * FROM user;

创建用户

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

修改用户密码

ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';

删除用户

DROP USER '用户名'@'主机名';

主机名:表示当前用户只能在哪一个主机上访问当前MYSQL服务器

主机名可以使用%通配(表示任意主机)

权限控制

  • 查询权限

    SHOW GRANTS FOR '用户名'@'主机名';
    
  • 授予权限

    GRANT 权限列表 OM 数据库名.表名 TO '用户名'@'主机名';
    
  • 撤销权限

    REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

多个权限之间,使用逗号分隔

授权时,数据库名和表名可以使用*进行通配,代表所有

函数

函数:指一段可以直接被另一段程序直接调用的程序或代码

使用:select 函数(参数)

字符串函数

数值函数

日期函数

流程函数

空表示null值(必须为null本身)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值