欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人文社科 > 生活经验 >内容正文

生活经验

mysql sql w3cschool_SQL复习(w3school)笔记

发布时间:2023/11/27 生活经验 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 mysql sql w3cschool_SQL复习(w3school)笔记 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

SQL基础

1.SQL对大小写不敏感

2.DML(数据操作语言)与DDL(数据定义语言)

a) DML

SELECT

UPDATE

DELETE

INSERT INTO

b) DDL

CREATE DATABASE

ALTER DATABASE

CREATE TABLE

ALTER TABLE

DROP TABLE

CREATE INDEX

DROP INDEX

3.DISTINCT:去除重复值

a) SELECT DISTINCT 列名FROM表名

4.WHERE子句

a) 值得注意的运算符 BETWEEN, LIKE

b) 文本值使用单引号,数值不用

5.ORDER BY字句

a) DESC 降序

b) ASC 升序

6.INSERT INTO语句

a) 语法

INSERT INTO table_name VALUES (val1, val2 ...)

INSERT INTO table_name(column1, column2...) VALUES (val1, val2 ...)

7.UPDATE语句

a) 语法: UPDATE表名SET列名=新值WHERE列名=某值

8.DELETE语句

a) 语法:DELETE FROM表名WHERE列名=值

b) 删除所有行 DELETE FROM table_name

SQL高级

1.TOP字句(MySQL为Limit)

a) 返回记录的条目数(对于有大量数据的表来说,非常有用)

SELECT TOP number|percent column_name(s) FROM table_name

SELECT column_name(s) FROM table_name LIMIT number

2.通配符

a) % 替代一个或多个字符

b) _替代一个字符

c) [charlist]字符列中的任何单一字符

d) [^charlist]或[!charlist]不在字符列中的任何单一字符

3.IN操作符

a) 允许我们在WHERE子句中规定多个值

b) SELECT column_name(s) FROM table_name WHERE column_name IN (val1, val2...)

4.BETWEEN操作符

a) 选取介于两个值之间的数据范围

5.Alias(别名)

a) 表别名 SELECT column_name(s) FROM table_name AS alias_name

b) 列别名 SELECT column_names AS alias_name FROM table_name

6.JOIN

a) 用于根据两个或多个表中的列之间的关系,从这些表中查询数据

b) 几种SQL JOIN

JOIN:表中至少一个匹配,则返回行

LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN:即使左表中没有匹配,也从右表返回所有行

FULL JOIN:只要其中一个表中存在匹配,就返回行

7.INNER JOIN(与JOIN相同)

a) SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name = table_name2.column_name

8.LEFT JOIN

a) SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name = table_name2.column_name

b) 左表所有行会被列出

9.RIGHT JOIN

a) SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name = table_name2.column_name

b) 右表所有行会被列出

10.FULL JOIN

a) SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name = table_name2.column_name

b) 只要存在匹配就会返回行

11.UNION操作符

a) 用于合并两个或多个SELECT语句的结果集(必须用相同数量的列,列必须拥有相似的数据类型,且列的顺序必须相同)

b) SELECT column_name(s) FROM table_name1

UNION

SELECT column_name(s) FROM table_name2

c) UNION ALL 会列出重复值

12.SELECT INTO

a) 从一个表中选取数据,然后插入另一个表中

b) 常用于创建表的备份复件或者用于对记录进行存档

c) SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename

13.CREATE DATABASE database_name

14.CREATE TABLE

a) CREATE TABLE 表名

(

列名1数据类型,

列名2数据类型,

……

)

15.约束Constraints

a) NOT NULL 不接受NULL值

b) UNIQUE 唯一(可以有多个UNIQUE约束)

c) PRIMARY KEY(主键)仅有一个

d) FOREIGN KEY

一个表中的FOREIGN KEY指向另一个表中的PRIMARY KEY

用于预防破坏表之间连接的动作

防止非法数据插入外键列,因为它必须是它只想的那个表中的值之一

e) CHECK 用于限制列中的值得范围

f) DEFAULT 用于向列中插入默认值

16.CREATE INDEX 在表中创建索引

a) 索引:在不读取整个表的情况下,使数据库应用程序可以更快地查找数据

b) 更新含有索引的表,更费时,所以合理的做法是静静在常被搜索的列(及表)上面创建索引

c) CREATE INDEX index_name ON table_name(column_name)

d) 唯一索引(两个列不能拥有相同索引值)CREATE UNIQUE INDEX index_name ON table_name(column_name)

17.DROP 删除索引、表和数据库

18.TRUNCATE TABLE 仅删除表内容不删除表

19.AUTO INCREMENT

20.VIEW(视图)基于SQL语句的结果集的可视化的表

21.Date函数

a) MySQL Date函数

NOW() 返回当前日期和时间

CURDATE() 返回当前的日期

CURTIME() 返回当前的时间

DATE() 提起日期或日期/时间表达式的日期部分

EXTRACT() 返回日期/时间的单独部分

DATE_ADD() 给日期添加指定的时间间隔

DATE_SUB() 从日期减去指定的时间间隔

DATEDIFF() 返回两个日期之间的天数

DATE_FORMAT() 用不同格式显示日期/时间

b) SQL Server Date函数

GETDATE() 返回当前日期和时间

DATEPART() 返回日期/时间的单独部分

DATEADD() 在日期中添加或减去指定的时间间隔

DATEDIFF() 返回两个日期之间的时间

CONVERT() 用不同的格式显示日期/时间

c) MySql Date数据类型

DATE YYYY-MM-DD

DATETIME YYYY-MM-DD HH:MM:SS

TIMESTAMP YYYY-MM-DD HH:MM:SS

YEAR YYYY/YY

SQL Server Date数据类型

DATE YYYY-MM-DD

DATETIME YYYY-MM-DD HH:MM:SS

SMALLDATETIME YYYY-MM-DD HH:MM:SS

TIMESTAMP  唯一的数字

d) 如果您希望使查询简单且更易维护,那么请不要在日期中使用时间部分!

22.NULL值

a) 测试NULL值

IS NULL

IS NOT NULL

23.NULL函数

a) MySQL用IFNULL和COALESCE函数

25.SQL服务器-RDBMS

总结

以上是生活随笔为你收集整理的mysql sql w3cschool_SQL复习(w3school)笔记的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。