猫颜 发表于 2020-3-6 21:30

sql数据库初级

1.SELECT选择
SELECT和FROM他们必须按顺序排列。SELECT指示要查看哪些列,FROM标识它们所在的表。
SQL SELECT 语法如下所示:
SELECT column1, column2, ... FROM table_name;
!*号代表可用的所有字段,如:
SELECT * FROM table_name;

2.SQL SELECT DISTINCT(选择不同) 语法
 SELECT DISTINCT语法用于仅返回不同的(different)值。
 在一张表内,一列通常包含许多重复的值; 有时你只想列出不同的(different)值。
表名:mytable

id        sex        years          
1        1        18          
2        0        18          
3        1        20       
若使用
SELECT years FROM mytable;
则输出18,18,20
SELECT DISTINCT years FROM mytable;
则输出18,20

3.SQL WHERE Clause(查询子句)
 WHERE 子句用于过滤记录。
 WHERE 子句用于提取满足指定标准的记录。
语法:
SELECT column1, column2, ...
FROM table_name
WHERE condition;

!! WHERE子句不仅用于SELECT语法,还用于UPDATE,DELETE语法等!
SELECT * FROM mytable WHERE years=18;
则输出前两行的数据

4.SQL AND, OR and NOT
与编程中的&& || !一样的道理

5.SQL ORDER BY Keyword(按关键字排序)
 ORDER BY 关键字用于按升序或降序对结果集进行排序。
 ORDER BY 关键字默认情况下按升序排序记录。
 如果需要按降序对记录进行排序,可以使用DESC关键字。
ASC为升序,DESC为降序
SELECT * FROM mytable ORDER BY years ASC, id DESC;

6.SQL INSERT INTO 语句(在表中插入)
INSERT INTO 语句用于向表中插入新的数据行
1.第一个表单没有指定要插入数据的列的名称,只提供要插入的值,即可添加一行新的数据:
INSERT INTO mytable(id,sex,years) VALUES (4,0,19);
2.第二种,如果要为表中的所有列添加值,则不需要在SQL查询中指定列名称。但是,请确保值的顺序与表中的列顺序相同
INSERT INTO mytable VALUES (5,1,23);

!使用一个表来填充另一个表
可以通过另一个表上的SELECT语句查询出来的字段值,然后将数据填充到本表中,条件是另一个表所查询的字段与本表要插入数据的字段是一一对应的。
INSERT INTO first_table_name [(column1, column2, ... columnN)]
SELECT column1, column2, ...columnN
FROM second_table_name
;

7.SQL NULL Values(空值)
 SQL 中,NULL 用于表示缺失的值。数据表中的 NULL 值表示该值所处的字段为空。
!测试空值
IS NULL语法:
SELECT column_names
FROM table_name
WHERE column_name IS NULL;

IS NOT NULL语法:
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;

8.SQL UPDATE 语句(更新表中的记录)
UPDATE 语句用于更新表中已存在的记录。
 还可以使用AND或OR运算符组合多个条件。
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
!!!警告
更新记录时要小心。如果您省略WHERE子句,所有记录将被更新!

猫颜 发表于 2020-3-6 21:32

没有markdown,我拿markdown写的笔记,心累。。。
要是编辑器是markdown的就好了

小能维尼 发表于 2020-3-6 22:14

推荐一个网址:https://sqlbolt.com/
可以用来练习,不过是英文版

skyvsdadi 发表于 2020-3-7 08:22

我就是记不住单词命令,还弄不会多表联查和嵌套查询。唉,请楼主指定方法,谢谢了

猫颜 发表于 2020-3-7 10:24

wysyz 发表于 2020-3-6 21:49
温习一下,谢谢楼主

这都能温习,讲真的这种没有加粗,没有颜色,没有斜体的我自己都不会去看的,;www

猫颜 发表于 2020-3-7 10:26

小能维尼 发表于 2020-3-6 22:14
推荐一个网址:https://sqlbolt.com/
可以用来练习,不过是英文版

好东西,收藏了,数据库我就过一遍就ok了,还有Spring等着我呢;www;www

blgx1989 发表于 2020-7-22 17:04

@skyvsdadi
其实单词的含义都还蛮贴近生活的,多用用就会了。
联查就是2个表有关联的选项了
比如表1有学生学号,学生姓名,家庭住址什么的
表2,是学生的成绩,但是没有学生姓名
所以想差这个学生姓名的成绩,就需要联合表1和表2了,
表1和表2的相关联项目就是学号
那么就要表1.学号=表2.学号,这就是联合。
页: [1]
查看完整版本: sql数据库初级