学习笔记 —— MySql基础

SQL通用语法

DDL 语法(数据库和表管理)

数据库管理
  • SHOW DATABASES; 查询所有数据库
  • SELECT DATABASE(); 查询当前数据库(与use对应)
  • CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排列规则]; 创建一个新的数据库,字符集推荐使用utf8mb4
  • DROP DATABASE [IF EXISTS]; 数据库名
  • USE 数据库名; 使用数据库
表操作
  • SHOW TABLES;  查询当前所有表格 

  • DESC 表名; 选择当前表

  • SHOW CREATE TABEL 表名;  查询指定表的建表语句

  • CREAT TABLE 表名(字段1 字段类型 [COMMENT 字段1注释], ...) [COMMENT 表注释];  建表语句

数值类型 

 表修改
  • ALTER TABLE 表名 ADD 字段名 数值类型(长度) [COMMENT 注释];  增加字段
  • ALTER TABLE 表名 MODIFY 字段名 新的数值类型(长度);  改变字段数值类型
  • ALTER TABLE 表名 CHANGE 字段名 新的字段名 新的数据类型(长度);  改变字段名和数据类型
  • ALTER TABLE 表名 DROP 字段名; 删除字段
  • DROP TABLE [IF EXISTS] 表名; 删除表
  • TRUNCAT TABLE 表名; 删除表,并且重新创建(类似初始化)

DML 语法(表操作)

表插入
  •  INSERT INTO 表名 (字段1,字段2...) VALUES (值1,值2...),(值1,值2...); 插入一个或多个字段的一组或多组值
  •  INSERT INTO 表名 VALUES (值1,值2...); 给所有字段添加值
表更新和删除
  • UPDATE 表名 SET 字段1= 值1,字段2 = 值2,... [WHERE 条件]; 修改数据,如果没有条件,则会修改整张表的值
  • DROP FROM 表名 [WHERE 条件]; 删除数据,如果没有条件,则会修改整张表的值,且不能删除某个字段的值,只能用UPDATA修改为空

 DQL 语法(基础查询)

基本语法

SELECT  字段列表 FROM 表列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVING 分组后条件列表 ORDER BY 排列字段列表 LIMIT 分页参数

  • GROUP BY 根据哪个字段进行分组
  • ORDER BY 字段1 排列方法1,...  ASC升序(默认),DESC降序
  • LIMIT 起始索引,查询记录数 索引时页数-1
聚合函数
函数功能

count

统计数量
max最大值
min最小值
sum总和
avg平均值

语法: SELECT 聚合函数(字段列表) FROM 表名;

DCL语法 (权限管理)

用户管理

用户权限管理表格在mysql中,所以我们首先用 USE mysql;选取到用户表格

  • SELECT * FROM mysql; 查询所有的用户
  • CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'; 创建用户
  • ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY  '密码'; 修改用户密码
  • DROP USER '用户名'@'主机名'; 删除用户

主机名: localhost 仅允许本地主机访问,%允许任意主机访问

权限管理 
  • SHOW GRANTS FOR '用户名'@'主机名'; 查询用户权限
  • GRANT 权限列表 ON 数据库.表 TO '用户名'@'主机名'; 赋予用户权限
  • REVOKE 权限列表 ON 数据库.表 TO '用户名'@'主机名'; 撤销用户权限

函数 

字符串函数

数值函数

日期函数

流程函数

 约束

外键约束

删除与更新 

 

多表查询 

内、外、自连接

内连接:取二者的交集

外连接:取左或右的全部集合及二者的交集

自连接:对自身表格进行连接处理 

 联合查询

事务 

事务语法 

 

并发事务问题

事务操作级别 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值