数据库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;

原文地址:https://www.cnblogs.com/Lxiaojiang/p/6061860.html