– 《登录 连接 本与他 》
– 登连本登与登他
– 3登 一密不可见
本登 -u 与-p
登他 -h -u -p
–host= --user= --password=
密文密码 不可见
-u -p 按enter
password:****
-- sql 通用 的 标准 === 空行缩进单多行 ,关键大写无大小
# 1:单行多行都通行 ,
# 2:空行缩进便可读 ,
# 3:不分大小关键大
– 数据库的语句分类 :DDL == DML == DQL
# 库表列作DDL
# 表值操作DML
# 查询表值DQL
# crud 有2用
# 库表列架 与 数值
– DDL 数据库的架构 sql语句
#《DDL库表列 crud》
增删改查 库表列
create/drop/alter/show
show 库s/表s create 库/表
表的结构desc
use 库名当前用
– 库表 架构 增 和 删
create drop 要判断
create table 表名 if not exists == 如果不存在
删库 删表 最谨慎
drop 表名 if exists
蠕虫复制 防删损
创建和他一样表
复制 数据 insert select
create table like表
insert into select*from 表
##### alter 改
alter table/database
库名不改 表名改
alter table rename to
库表乱码字符集
character set 字符集
列增删改 ALTER TABLE
change改革 列与型
– 细改列型modify
– 非空约束modify
drop删除add增
– DDL 数据库 架构 语句 :增 create 删drop 改alter 查 show /show creater 与 指定 :选select database()
– use 库
#《数据类型 打油诗》
int varchar 与date
int/tiny smili edium (轻 丝妙哦 哦大么)
varchar/double/float
date 日时 ,年 时 戳
datatime year time
tmiestamp null当前
– 这些区别 ----- ====================
drop 与 delete 的区别 drop 关于表的架构 delete 关于表里的数据
alter 与 update 的区别 alter 修改表架构 update 修改表的数据
change 与 modify 的区别 change 修改表中列名与列型 modify 只修改列型
表名改 alter table 表名 rename to 改成的表名
desc 与show 与 select 的区别 desc 显示表的架构 show 通用 库 表 的数量等 select 显示表数据值得名称
create 与 insert in to 的区别 create 增加表 insert 增加 标的数据值 要与values ()函数搭配
– DDL DML DQL 的区别 :DDL 与DML中都会 涉及 crud 增 查 改 删
-- DDL 操作表的架构 DML 操作表的数据 而 DQl 查询语句
-- DDL 库 表 列 的架构 crud 增 查 改 删 create show alter drop
-- DML 表中 列 的 crud 增 查 改 删 create show alter drop
-- DQL 表数据的 丰富 查 insert into ....values ,select * from (where)
-- update set ,delete where
??? 问 ?????
-- where 的sql语句使用场景 用在 select delete update
-- show 在语句 组合 有哪些 :
-- show databases, show tables , show create database 库名,show create table 表名
-- SHOW VARIABLES LIKE 'character%';
-- 如何去重 关键字是 distinct 在查询语句使用 如 :select distinct age from fhwt003;
-- 如何创建 某个表一样 的表 的语句 :create table fff like hhh;
-- 如何 实现 蠕虫复制 有2步 :
-- 1:创建一样的表: create table 表名 like 要复制的表名
-- 2:添加数据 -- 选择所有 或指定 数据 :insert in to select * (或指定)from (或指定)表名
-- 如何 解决乱码 的原理 与执行语句 :client connection database /table 3个条件一致 比如gbk 或 utf8
-- 1:查:SHOW VARIABLES LIKE 'character%';显示 字符集 内容
-- 2:设置:set names 字符集名称 如 utf8 === 集中设置
-- 别名的用用的场景 : 多表 查询的 ,别名的使用会 作用具体的标注
-- exists 的语句 使用 :DDL 库表列 架构语句 的增删 : not exists 与 if exists 的使用 :
-- 判断 exists:用于 not 要create ,if 要drop
DQL 查询sql语句的 执行顺序 : ========================
– from
– where
order by(排序order by 与 where都是 天下第二俩不遇)
– group by (分组)
– having(分组的条件)
– select limit(分页)
where 条件 都会 影响 查询 效率
-- 大小 大小等非等介 (>,< ,>=,<= ,=,!= ,<>)
-- between and 还有in()
-- or...or 同等 in();
-- like/-/%占位符 (like 杠百分 占位符)
-- 单任杠 多百分 占位合
-- 前单后多 多中包
-- 多前单后 连单指
-- and/or/not && || ! (俺的偶闹特与或非)
-- 最后条件is null /
– sql优化都不用
– 公司 里是这样 : 方便 阅读 而不是 select *from 表名 就行 了
SELECT id,NAME,age,sex,address,math,english FROM student;
SELECT DISTINCT address FROM student; – 查出 都有哪些地区 的
SELECT NAME,math,english,math+english FROM student;
– 去null 的 函数 ifnull(指定的字段,null的替换值)====sql 运算的时候 遇null 则null
SELECT NAME,math,english,math + IFNULL(english,0) FROM student;
– 在table 元素中 select 纵向的 列标题 先于select 的 where 条件过滤
– select 是纵向 where 是
– 指定数值之间 (包含指定值)=== 有三种
– 1:>=数值 && <=数值; 2:>=数值 and age <=数值 ##### 3:between 数值 and 数值
SELECT id,NAME,age,sex,address,math,english FROM student WHERE age >=20 && age <=30;
SELECT id,NAME,age,sex,address,math,english FROM student WHERE age >=20 AND age <=30;
SELECT id,NAME,age,sex,address,math,english FROM student WHERE age BETWEEN 20 AND 30;
– 指定数值(多个)=== 有三种
SELECT id,NAME,age,sex,address,math,english FROM student WHERE age = 20 || age = 45 || age = 55;
SELECT id,NAME,age,sex,address,math,english FROM student WHERE age = 20 OR age = 45 OR age = 55;
SELECT id,NAME,age,sex,address,math,english FROM student WHERE age IN(20,45,55);
– like的使用 _ %
– 姓马 的名称
SELECT id,NAME,age,sex,address,math,english FROM student WHERE NAME LIKE ‘马%’;
– 找寻 名叫:什么化的人
SELECT id,NAME,age,sex,address,math,english FROM student WHERE NAME LIKE ‘化%’;、
– 找寻 名叫 含有德 的人
SELECT id,NAME,age,sex,address,math,english FROM student WHERE NAME LIKE ‘%德%’;
– 找寻 三个字的 有多少
SELECT id,NAME,age,sex,address,math,english FROM student WHERE NAME LIKE ‘___’;
– 排序 order by 排序字段 排序方式(默认 升序 ASC desc降序显式关键字 )
– 多个 相同排序条件的时候 前边的与 后边值一样 后边才会参与
SELECT id,NAME,age,sex,address,math,english FROM student WHERE
SELECT id,NAME,age,sex,address,math,english FROM student WHERE
– ###### 出题及演练 #######