自学内容网 自学内容网

【SQL语句】

一、MYSQL

1、创建数据库
CREATE DATABASE 数据库名;
2、删除数据库

drop

drop database <数据库名>;

二、数据类型

1、数值类型

1)小整数型、大整数型、极大整数型、单精度浮点型、双精度浮点型、小数型

说明:float精度为4字节,double精度为8字节,decimal精度为28~29位

对精度要求不高的情况下,应尽量使用单精度型,而对精度要求较高的情况,可使用双精度型。小数型一般用于高精度

2、日期和时间类型

1)

3、字符串类型

char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。

CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

三、语句

1、删除数据表

1)drop

DROP TABLE table_name ;
2、插入数据
INSERT INTO 表 ( 字段, field2,...fieldN )
                       VALUES
                       ( 值, value2,...valueN );
3、关于where条件

------是一个约束声明

1)可以使用 AND 或者 OR 指定一个或多个条件。

2)使用主键来作为 WHERE 子句的条件查询是非常快速的。-慢SQL优化

条件执行顺序

谷歌来的顺序是这样的

  1. FROM, including JOINs
  2. WHERE
  3. GROUP BY
  4. HAVING
  5. WINDOW functions
  6. SELECT
  7. DISTINCT
  8. UNION
  9. ORDER BY
  10. LIMIT and OFFSET

4、DELETE 语句
DELETE FROM 表 [WHERE Clause]
  • 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
  • delete,drop,truncate 都有删除表的作用,区别在于:
  • 1、delete 和 truncate 仅仅删除表数据,drop 连表数据和表结构一起删除,打个比方,delete 是单杀,truncate 是团灭,drop 是把电脑摔了。
  • delete 是 DML 语句,操作完以后如果没有不想提交事务还可以回滚,truncate 和 drop 是 DDL 语句,操作完马上生效,不能回滚
  • 执行的速度上,drop>truncate>delete 打个比方,drop 是神舟火箭,truncate 是和谐号动车,delete 是自行车。
5、like语句

LIKE 子句中使用百分号%字符来表示任意字符,如果没有使用百分号%, 那么 LIKE 子句与等号=的效果是一样的。

like 匹配/模糊匹配,会与 % 和 _ 结合使用。

'%a' //以a结尾的数据

'a%' //以a开头的数据

'%a%' //含有a的数据

'_a_' //三位且中间字母是a的

'_a' //两位且结尾字母是a的

'a_' //两位且开头字母是a的

%:表示任意 0 个或多个字符若是中文,请使用两个百分号(%%)表示。

_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句。

[]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

[^] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。

查询内容包含通配符时,由于通配符的缘故,导致我们查询特殊字符 “%”、“_”、“[” 的语句无法正常实现,而把特殊字符用 “[ ]” 括起便可正常查询。

6、UNION 操作符

作用:UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)

UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)

SELECT 列名称 FROM 表名称 UNION SELECT 列名称 FROM 表名称 ORDER BY 列名称;
SELECT 列名称 FROM 表名称 UNION ALL SELECT 列名称 FROM 表名称 ORDER BY 列名称;
7、排序

ASC --升序

DESC --降序

如果字符集采用的是 gbk(汉字编码字符集),直接在查询语句后边添加 ORDER BY:

SELECT * 
FROM runoob_tbl
ORDER BY 列名;

如果字符集采用的是 utf8(万国码),需要先对字段进行转码然后排序:

SELECT * 
FROM runoob_tbl
ORDER BY CONVERT(列名 using gbk);
8、GROUP BY 语句

GROUP BY 语句根据一个或多个列对结果集进行分组。

在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。

9、JOIN连接表

SQL连接表(内连接、左连接、右连接、交叉连接、全外连接)_sql 内连接-CSDN博客

你可以在 SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询。

JOIN 按照功能大致分为如下三类:

  • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
  • 内连接,又叫等值连接,只返回两个表中连接字段相等的行。

  • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录,如果在右表中找不到匹配的行,则使用NULL 代替显示。。
  • 返回左表中所有的记录以及右表中连接字段相等的记录

  • RIGHT JOIN(右连接):与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录,如果在左表中找不到匹配的行,则使用NULL 代替显示。。
  • 右连接,返回右表中所有的记录以及左表中连接字段相等的记录。

  • full join : 外连接,返回两个表中的行:left join + right join。

10、剩余部分


原文地址:https://blog.csdn.net/weixin_42333261/article/details/140543586

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!