数据库SQL语句学习--view
1.新建一个view
create view view_name as
select * from table_name
where...
2.删除一个view
drop view view_name
3.新增一列
ALTER TABLE table_name
ADD column_name column_type
4.删除一列: COLUMN 是关键字
ALTER TABLE table_name
drop COLUMN column_name
5.修改表中某一条记录
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
6.添加一条记录
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
7.排序
SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;
8.join 的用法(两表根据共同字段返回值)
SELECT Websites.id, Websites.name, access_log.count, access_log.date
FROM Websites
INNER JOIN access_log
ON Websites.id=access_log.site_id;
- INNER JOIN:如果表中有至少一个匹配,则返回行
- LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行(以左边的表为主)
- RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行(以右边的表为主)
- FULL JOIN:只要其中一个表中存在匹配,则返回行(不管匹配如何,返回所有待定字段和值)
9.创建一个表
CREATE TABLE table_name
(
column_name1 data_type(size), 约束条件
column_name2 data_type(size),约束条件
column_name3 data_type(size),约束条件
....
);
约束条件有以下六个:
- NOT NULL - 指示某列不能存储 NULL 值。
- UNIQUE - 保证某列的每行必须有唯一的值。
- PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
- FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
- CHECK - 保证列中的值符合指定的条件。
- DEFAULT - 规定没有给列赋值时的默认值。
例:
CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE, //非空,不重复
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id), //设立p_id为主键
FOREIGN KEY (P_Id) REFERENCES orders(P_Id) //当前表的外键是orders表的主键P_ID
check(P_ID>0)//规定当前表的主键值>0
)
十、group by 的使用
SELECT site_id, SUM(access_log.count) AS nums //对access_log表的count列进行求和,求和的结果命名为nums列
FROM access_log
GROUP BY site_id; //将表的内容按照site_id进行整理
十一、having 的使用
having 可以配合group by一起使用, 可以代替where语句。
SELECT Websites.name, Websites.url, SUM(access_log.count) AS nums FROM (access_log
INNER JOIN Websites
ON access_log.site_id=Websites.id)
GROUP BY Websites.name
HAVING SUM(access_log.count) > 200;