数据库搜索所有表名包含的表_数据库常⽤SQL语句
在分享之前,需要感谢某位朋友的细⼼整理,虽然我基本照搬,但还是想说⼀声,⾟苦!
1.查看现有数据库
SHOW DATABASES;
2.新建数据库
CREATE DATABASE <;数据库名称>;
3.选择数据库
USE <;数据库名>;
4.从.sql⽂件引⼊SQL语句
SOURCE <.sql⽂件路径>;
5.删除数据库
DROP DATABASE <;数据库名>;
6.查看当前数据库中的表
SHOW TABLES;
7.创建新表
CREATE TABLE <;表名> (
<;列名1> <;列类型1>,
<;列名2> <;列类型2>,
<;列名3> <;列类型3>,
PRIMARY KEY (<;列名1>),
FOREIGN KEY (<;列名2>) REFERENCES <;表名2>(<;列名2>)
);
主键(PRIMARY KEY)⽤来标识⼀条记录(⼀⾏),所以每条记录的主键值必须是唯⼀的。
主键可以定义在多列上,这成为联合主键(composite primary key)。
如果我们把表视作具有某种结构的数组(例如,C语⾔中的struct),那么外键(FOREIGN KEY)可以视作指针。
8.概述表中的列
DESCRIBE <;表名>;
9.在表中插⼊新纪录
INSERT INTO <;表名> (<;列名1>, <;列名2>, <;列名3>, …)
VALUES (<;值1>, <;值2>, <;值3>, …);
也可以省略列名(依序在所有列上插⼊新值):
INSERT INTO <;表名>
VALUES (<;值1>, <;值2>, <;值3>, …);
10.在表中更新记录
UPDATE <;表名>
SET <;列名1> = <;值1>, <;列名2> = <;值2>, ...
WHERE <;条件>;
11.清空表
DELETE FROM <;表名>;
12.删除表
DROP TABLE <;表名>;
查询(SELECT)
查询(SELECT)
13.查看表中全部内容
SELECT * FROM <;表名>;
14.通过列名查看
SELECT <;列名1>, <;列名2>, …
FROM <;表名>;
15.过滤重复值
SELECT DISTINCT <;列名1>, <;列名2>, …
FROM <;表名>;
16.WHERE
WHERE的条件通常是:
⽐较⽂本(text)
⽐较数字(numbers)
and、or、not等逻辑运算
让我们来看⼀些例⼦:
SELECT * FROM course WHERE dept_name='lucy';
SELECT * FROM course WHERE age>3;
SELECT * FROM course WHERE dept_name='lucy' AND age>3;
17.GROUP BY
GROUP BY语句可以分组结果,常⽤于COUNT、MAX、MIN、SUM、AVG等聚合函数
SELECT <;列名1>, <;列名2>, …
FROM <;表名>
GROUP BY <;列名>;
18.HAVING
乍看起来,HAVING和WHERE很像:
SELECT <;列名1>, <;列名2>, …
FROM <;表名>
GROUP BY <;列名x>
HAVING <;条件>;
那么,HAVING和WHERE有什么不同呢?让我们先来看⼀个例⼦,列出开了不⽌⼀门课程的部门开设的课程数:
SELECT COUNT(course_id), dept_name
FROM course
GROUP BY dept_name
HAVING COUNT(course_id)>1;
这⾥HAVING不能换成WHERE,因为WHERE直接针对⾏操作,且在GROUP BY之前运⾏(即先通过WHERE筛选⾏,之后再将筛选出的⾏通过GROUP BY分组)。假设SQL中不存在HAVING语句,那么我们只能先新建⼀张表,将COUNT(course_id)作为新表的列,然后在新表上再通过WHERE进⾏筛选(当然,实际上SQL提供了派⽣表、CTE等机制,并不⽤真的⼿⼯建新表)。
常用的sql查询语句有哪些19.ORDER BY
ORDER BY可以对结果进⾏排序,在没有明确指定ASC(升序)或DESC(降序)的情况下,默认按升序排列。
SELECT <;列名1>, <;列名2>, …
FROM <;表名>
ORDER BY <;列名1>, <;列名2>, …, ASC|DESC;
20.BETWEEN
BETWEEN语句⽤于指定区间。
SELECT <;列名1>, <;列名2>, …
FROM <;表名>
WHERE <;列名x> BETWEEN <;值1> AND <;值2>;
其中“值”可能是数字、⽂本、⽇期等。
21.LIKE
LIKE⽤于匹配⽂本中的特定模式。
SELECT <;列名1>, <;列名2>, …
FROM <;表名>
WHERE <;列名x> LIKE <;模式>;
模式中可以使⽤以下两个通配符:
% (零个、⼀个或多个字符)
_ (单个字符)
22.IN
IN语句表⽰值属于某个集合。
SELECT <;列名1>, <;列名2>, …
FROM <;表名>
WHERE <;列名n> IN (<;值1>, <;值2>, …);
例:列出公司某⼏个部门的⼈员,值就相当于部门名称
23.JOIN
JOIN⽤于组合两张以上表的值。下图展⽰了JOIN的三种类型
SELECT <;列名1>, <;列名2>, …
FROM <;表名1>
JOIN <;表名2>
ON <;表名1.列名x> = <;表名2.列名x>
24.视图
视图(view)是虚拟的SQL表。它包含⾏和列,和⼀般的SQL表格很类似。视图总是显⽰数据库中的最新数据。创建视图:
CREATE VIEW <;视图名> AS
SELECT <;列名1>, <;列名2>, …
FROM <;表名>
WHERE <;条件>;
DROP VIEW
删除视图:
DROP VIEW <;视图名>;
25.聚合函数
COUNT(列名) 返回⾏数
SUM(列名) 返回指定列的值之和
AVG(列名) 返回指定列的平均值
MIN(列名) 返回指定列的最⼩值
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论