基于SQLyog的数据库基础语句梳理

由于时间问题,本人的案例图片未插入,敬请谅解!
数据库操作语句梳理
1.DDL语句
[数据定义语言]:数据库的创建/删除,数据表的创建/删除…
1.1.创建数据库
语法:
CREATE DATABASE “数据库名称”;
描述:
创建数据库
案例:

1.2.删除数据库
语法:
DROP DATABASE “数据库名称”;
描述:
删除指定数据库
案例:

1.3.修改数据库
此处略去修改数据库名称,尽量不要改,就如首都不能随便迁都!
1.4.退出数据库
语法:
exit
描述:
退出数据库
案例:

1.5.查看数据库
语法:
Show database;
描述:
查看当前数据库中,都有哪些数据库
案例:

1.6.进入数据库
语法:
mysql -u root -p
描述:
命令行进入数据库
案例:

1.7.数据库指定命令:use
语法:
use py1807a
描述:
需要用哪个数据库就指定哪个数据库
案例:

(命令行)
1.8.创建表格
语法:
create table [if not exists] student(
Id int comment “学生编号”,
name varchar(20) comment “学生姓名”,
age int comment “学生年龄”
);
描述:
创建一个student表格
案例:

1.9.查看表格
语法:
Show tables;
描述:
查看指定数据库的表格
案例:

1.10.查看表格信息
语法:
desc 表格名称;
描述:
查看表格信息
案例:

1.11.查看表格的创建信息
语法:
show create 表格名称;
描述:
查看表格的创建信息
案例:

1.12.修改表格
1.12.1.表格重命名
语法:
alter table tab_name
Rename to new_table_name;
描述:
表格的重命名
案例:

1.12.2.表中修改列名称
语法:
Alter table table_name
Change column dname sname varchar(20);
描述:
表中修改列的名称
案例:

1.12.3.表中删除一列
语法:
Alter table table_name drop column age;
描述:
删除表格中名称为age的一列
案例:

1.13.删除表格
语法:
drop table [if exists] stu;
描述:
删除指定(stu)数据表
案例:

2.DML语句
[数据的操作语言]:表中数据的增删改查操作
2.1.INSERT语句
语法:
INSERT INTO dept(id,dname,darea,regtime)
VALUES(5,"预留级","研发七","2018-8-28");
或者 insert into dept values(5,"预留级","研发七","2018-8-28");
描述:
给表中插入数据
案例:

另一种插入方式:

另外:

在数据库表格栏创建表即可!

2.2.UPDATE语句
语法:
UPDATE dept SET dname="留班查看" WHERE id=5;
描述:
将id=5的一行的dname对应的值改为留班查看
案例:

2.3.DELETE语句
语法:
DELETE FROM dept WHERE id=5;
描述:
将id=5的一行删除
案例:

2.4.SELECT语句
2.4.1.全表查询
语法:
select * from 表名称;
描述:
查询指定表中的所有数据
案例:

2.4.2.单条件查询
语法:
SELECT * FROM dept WHERE id =3;
SELECT * FROM dept WHERE dname="组长"
描述:
查询id=3的一行/查询dname=“组长”的一列
案例:

2.4.3.多条件查询:并且|或者
And:
语法:
SELECT * FROM dept WHERE id=1 AND dname="行政";
SELECT * FROM dept WHERE id=1 AND dname="组长";
描述:
查询id=1而且dname=”行政”的数据。
两个条件有一个为假,则为假,只有两个条件全为真才为真。
后一条语句不执行
案例:

Or:
语法:
SELECT * FROM dept WHERE id =1 OR dname="组长";
SELECT * FROM dept WHERE id =1 OR id =2;
描述:
查询表中id=1或者dname=”组长”的数据;
查询表中id=1或者id=2的数据
案例:

2.4.4.比较查询
语法:
SELECT * FROM dept WHERE id>3;
描述:
查询表中id大于3的所有数据
案例:

2.4.5.模糊查询
%:匹配任意字符0~n个
语法:
SELECT * FROM dept WHERE dname LIKE "%长/%%";
描述:
查询与”长%“字匹配的任意字符0~n个,/为转义字符。
案例:

:匹配任意一个字符
语法:
SELECT * FROM dept WHERE dname LIKE "
员";
描述:
查询与”员“字匹配的一个字符
案例:

2.4.6.空值查询
语法:
SELECT * FROM dept WHERE dname IS NULL OR darea IS NULL;
SELECT * FROM dept WHERE dname IS NOT NULL AND darea IS NOT NULL;
描述:
查询dname为空或者darea为空的数据
查询dname不为空而且darea不为空的数据
案例:

2.4.7.范围查询
语法:
SELECT * FROM dept WHERE darea IN ("研发七","研发六");
描述:
查询表中在darea(研发六和研发七)中的数据
案例:

2.4.8.范围查询:区间查询
语法:
Select * from dept where id between 2 and 8;
描述:
查询表中id在2到8之间的数据
案例:

2.4.9.排序查询
语法:
SELECT * FROM dept ORDER BY id;
SELECT * FROM dept ORDER BY id DESC;
SELECT * FROM dept ORDER BY darea ASC;
描述:
按照id的顺序进行正序排列
按照id的顺序进行倒叙排列
按照darea的顺序进行笔画的顺序进行排列
可以合并一起查询
案例:

2.4.10.分页查询
语法:
SELECT * FROM dept LIMIT 0,2;#id 1,2
SELECT * FROM dept LIMIT 2,2;#id 3,4
描述:
id = count(page-1)
Page1:id =2
(1-1)=0,从id=0开始查询
Page2:id =2*(2-1)=2,从id=2开始查询
所说的id不是自己输入的,而是系统默认的id=0就是第一行
案例:

2.4.11.聚合函数
语法:
SELECT AVG(id) FROM dept;
SELECT COUNT(*) FROM dept;#对所有数据进行查询,建议不要使用
SELECT COUNT(1) FROM dept;#指定其中的某一列查询
SELECT MAX(id) FROM dept;
SELECT MIN(id) FROM dept;
SELECT SUM(id) FROM dept;
描述:
avg() 求取指定列的平均值
count() 求取指定列的数据总数量
max()求取指定列中数据的最大值
min()求取指定列中数据的最小值
sum()求取指定列中数据的和

案例:

2.4.12.指定列查询
语法:
SELECT dname,darea FROM dept;
描述:
查询dept表中dname,dareae两列
案例:

2.4.13.查询数据剔重
语法:
SELECT DISTINCT darea FROM dept;
描述:
select distinct 列 from 表名称,查询数据表中指定列-所有不重复的数据,每个数据只能出现一次
案例:

2.4.14.分组查询
语法:
SELECT COUNT(1),darea FROM dept GROUP BY darea;
描述:
从表中按照darea进行分组,查询每组数据出现次数的总和。
案例:

语法:
SELECT COUNT(1),darea FROM dept GROUP BY darea HAVING darea IS NOT NULL;
描述:
从表中按照地区进行分组,查询每组数据出现次数的总和,并且剔除darea列中值为NULL的一列!
案例:

2.4.15.关于查询的疑问
SELECT
指定查询列
[FROM 表名称
(1)[WHERE 条件]
(2)[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
(3)[HAVING 分组条件]
(4)[ORDER BY {col_name | expr | position}
[ASC | DESC] , ...]
(5)[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[FOR UPDATE | LOCK IN SHARE MODE]]

2.5.数据库:多表关联查询
2.5.1.直接查询
语法:
SELECT * FROM emp,dept;
描述:
两张表联合查询,emp中行数与dept中行数的成绩:m*n
案例:

2.5.2.关联查询
语法:
SELECT * FROM emp,dept WHERE emp.dept_id = dept.id;
select * from emp e,dept d where e.dept_id=d.id
扩展:SELECT * FROM emp WHERE dept_id IN (2,3);
描述:
查看emp表中dept_id和dept表中id相同的数据
扩展:查询单表中dept_id这个属性值在(2,3)范围内的数据
扩展内容与上述(2.4.7)范围查询方法一样
案例:

2.5.3.子查询
1)单行子查询
语法:
SELECT * FROM emp
WHERE dept_id = (SELECT id FROM dept WHERE dname = "班长");
描述
从emp表中查询dept_id在dept表中查询dname为(班长)的id ->返回值为(2)中的数据
emp表中dept_id = 2的只有一列
案例:

2)多行子查询
语法:
SELECT * FROM emp
WHERE dept_id IN
(SELECT id FROM dept WHERE dname IN("班长","组长"));
SELECT id FROM dept WHERE dname IN("班长","组长")
描述:
从emp表中查询dept_id在 dept表中查询dname为(“班长和组长”)的id——>返回值为(2,3,6,7,9)中的数据
因为emp表中dept_id只有(1,2,3)三个数据,所以只能查到(2,3)
从dept表中查询dname为(“班长和组长”)的id——>返回值为(2,3,6,7,9)
案例:

2.5.4.连接查询
1)内连接查询【扩展】
2)外连接查询
a)左外连接查询
语法:
SELECT * FROM dept d LEFT JOIN emp e ON d.id = e.dept_id;
描述:
以dept表为主emp表在右进行查询,查询dept中的id与emp中的dept_id相同的数据,
而且在dept表中的其他数据也全部查询出来,emp中没有与它匹配的值全为NULL。
案例:

b)右外连接查询
语法:
SELECT * FROM dept d RIGHT JOIN emp e ON d.id = e.dept_id;
描述:
以emp表为主dept表在左进行查询,查询dept中的id与emp中的dept_id相同的数据,
而且在emp表中的其他数据也全部查询出来,dept表中没有与它匹配的值全为NULL。
案例:

3)全连接查询【扩展】
4)扩展:hash查询

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352