目录
SQL简介
●英文: Structured Query Language, 简称SQL
●结构化查询语言,是一门操作关系型数据库的编程语言
●定义操作所有关系型数据库的统一标准
●对于同一个需求,每种数据库操作的方式可能会存在一些不一样的地方,我们称为"方言”
SQL通用语法
- SQL 语句可以单行或多行书写,以分号结尾。
- MySQL 数据库的SQL语句不区分大小写,关键字建议使用大写。
3.注释
单行注释: --注释内容或#注释内容(MySQL特有)
多行注释: /*注释*/
SQL分类
●DDL(Data Definition Language)数据定义语言,用来定义数据库对象:数据库,表,列等
●DML(Data Manipulation Language)数据操作语言,用来对数据库中表的数据进行增删改
●DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据)
●DCL(Data Control Language)数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户
DDL
用于操作数据库与表
操作数据库
1.查询
SHOW DATABASES;
当前有哪些数据库
2.创建
CREATE DATABASE DB1;
CREATE DATABASE IF NOT EXISTS DB1;
3.删除
DROP DATABASE DB1;
DROP DATABASE IF EXISTS DB1;
4.使用数据库
USE 数据库名称;
查看当前使用的数据库
SELECT DATABASE();
操作表
1.创建表
create table 表名(
字段1 类型1,
字段2 类型2
);
注意最后一个字段后面不要加逗号
数据类型有哪些?
2.查询表
查询当前数据库中的所有表
show tables;
查询某个表中的具体结构
DESC 表名称
3.修改表
- 修改表名
alter table 名字 rename to 新的名字;
- 添加一列
alter table 表名 add 列名 数据类型;
- 修改数据类型
alter table 表名 modify 列名 新数据类型
- 修改列名和数据类型
alter table 表名 change 列名 新的列名 新的数据类型
- 删除列
alter table 表名 drop 列名;
4.删除表
DROP TABLE 表名称
DROP TABLE IF EXISTS 表名称
navicat
●Navicat for MySQL是管理和开发MySQL或MariaDB的理想解决方案。
●这套全面的前端工具为数据库管理、开发和维护提供了一 款直观而强大的图形界面。
●官网:
http://www.navicat.com.cn
连接本地数据库
双击后就连接上了本地的mysql
DML
DML是对表中的数据进行增删改查的操作
- 添加
给指定列添加数据
INSERT INTO user(id,name,password) VALUES(1,'张三',123456);
给全部列添加数据
INSERT INTO 表名 VALUES(v1,v2...);
- 修改
修改数据
UPDATE 表名 SET 列名1=值1,列名2=值2,..[WHERE条件]
如果没有加where,那么会将表内所有的数据改掉
- 删除
DELETE FROM 表名 [WHERE条件]
DQL
基础查询
1.查询指定列的数据
SELECT 列名1,列名2.. From 表名
2.查询所有列的数据
SELECT * FROM 表
3.剔除重复数据
利用DISTINCT关键字
4.查询出来的值起别名
SELECT 列名 AS 别名 From 表
条件查询
注意,null的比较不能用算术运算符,只能用is 或者是 is not
like模糊查询
不确定的地方用通配符代替
1. _代表一个字符
2. %代表任意个字符
分组查询
聚合函数
概念:
将一列数据作为整体,进行纵向计算
函数名 | 功能 |
---|---|
count(列名) | 统计数量 |
max(列名) | 最大值 |
min(列名) | 最小值 |
sum(列名) | 求和 |
avg(列名) | 平均值 |
语法: |
SELECT 函数(列名) FROM 表;
null不参加所有聚合函数运算即如果某个数据为空,我并不会去统计。
分组查询
排序查询
分页查询