学习SQL的第一天(7月17日)
跟着W3school学习SQL语法.... 整理笔记
SQL(结构化查询语言)由以下两部分构成:
DML:数据操作语言 (查询和更新)
· SELECT- 从数据库表中获取数据
· UPDATE- 更新数据库表中的数据
· DELETE- 从数据库表中删除数据
· INSERT INTO- 向数据库表中插入数据
DDL:数据定义语言 (创建或删除表格;增加表与表之间的关联和约束)
· CREATE DATABASE- 创建新数据库
· ALTER DATABASE- 修改数据库
· CREATE TABLE- 创建新表
· ALTER TABLE- 变更(改变)数据库表
· DROP TABLE- 删除表
· CREATE INDEX- 创建索引(搜索键)
· DROP INDEX- 删除索引
SQL SELECT DISTINCT 语句
在表中会出现重复值,如果需要列出不同的值,则需要用到DISTINCT。
eg. select distinct Company from Person
SELECT WHERE
select 列名称 from 表名称 where 列 运算符 值;
eg:select lastname from persons where firstname = 'WLS';
eg:select lastname from persons where number=3;
注意:where后面的列 运算符,值=(文本值)加上引号,或者值=(数值)者无需加上引号。
where 列,操作符, 操作符如下↓
图片来自W3S
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。
如果是数值,请不要使用引号。
eg. SELECT * FROM Person WHERE FirstName='Bush'
SELECT * FROM Person WHERE Year >1995
AND 和 OR 运算符 用于基于一个以上的条件对记录进行过滤。
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起。
AND : 使用 AND 则意味着两个条件都需要被满足
如果第一个条件和第二个条件都成立,则AND运算符显示一条记录。
eg. SELECT * FROM Person WHERE Firstname ='Thomas' AND Lastname = 'Song'
例:显示所有姓为‘’C''并且名为‘’T‘’的人:
SELECT * FROM Persons WHERE Firstname=‘T’AND Lastname=‘C’;
OR : 使用 OR 意味着,两个条件中,只要有一个条件被满足就可以被查找出来
如果第一条件和第二个条件只要有一个成立,则OR运算符显示一条记录.
例:显示所有姓为‘’C''或者名为''T‘’的人:
SELECT * FROM Persons WHERE Firstname=‘T’OR Lastname=‘C’;
eg. SELECT * FROM Person WHERE Firstname = 'Thomas' OR Lastname = 'Song'
用圆括号将 AND 和 OR 结合起来组成复杂的表达式.
例:显示所名为''C''或者姓为''T''并且为''B''的人:
SELECT * FROM Persons WHERE (Firstname=‘T’AND Firstname=‘B’) OR Lastname='c';
eg. SELECT * FROM Person WHERE ( Firstname ='Thomas' OR Firstname =' Cater ') AND Lastname ='Song'
SQL ORDER BY (排序规则) -用于对结果集进行排序。
ORDER BY 默认排序规则为升序 (ASC);DESC 默认排序为降序
eg. SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber
以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber)
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC,OrderNumber ASC
INSERT INTO 语句(用于向表格中插入新的行)
insert into 表名称 values(值1,值2,...)
eg:insert into persons values(‘kk’,‘ll’,‘cc’)
也可以在指定的列中,插入具体的值。
insert into 表名称 (列名1,列名2,...)values(值1,值2,...)
eg:insert into persons (lastname,firstname)values('wl','ki');
eg. INSERT INTO Person 表名称 VALUES('Bill','Gates',1995)
eg. INSERT INTO Person (LastName,FirstName) VALUES ('Jilly','Song') —— 在特定的列中插入新的行内容
SQL UPDATE 语句 (用于修改表中的数据) 更新表中的数据。
update 表名称 SET 列名称=新值 where 列名称=某值;
eg:update persons SET lastname=‘kl’ where firtname=‘ws’;更新某一个行中某一个列。
更新某一个行中的若干列:
eg:update persons SET lastname=‘lk’,firstname=‘w3’ where city =‘shanghai’;
eg. UPDATE Person (表名称) SET FirstName(列名称)='Fred' (新值) WHERE LastName = 'Bill'-------一列
UPDATE Person SET Address = 'ZhongShan 21',City ='ShangHai' WHERE LastName = ' Bill ', FirstName='Fred' -----若干列
SQL DELETE 语句 (用于删除表中的行)
DELETE from persons where lastname=‘w1’;
DELETE from persons;
DELETE * from persons;
删除某行:
'A'会被删除
DLETE FROM person Where lastname =‘A';
删除所有行
可以在不删除表的情况下删除所有的行,这意味着表的结构、属性和索引都是完整:
DELETE FROM TABLE_NAME;
或者:
DELETE * FROM TABLE_NAME;
· 删除某行
eg. DELETE FROM Person WHERE FirstName = 'Bill'
· 删除全部行
DELETE FROM table_name
DELETE * FROM table_name
* 为通配符,一般用于查询表的所有字段