博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库SQL语句学习--view
阅读量:4456 次
发布时间:2019-06-08

本文共 1981 字,大约阅读时间需要 6 分钟。

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

你可能感兴趣的文章
mybatis动态代理
查看>>
3.fIddler的使用
查看>>
Maven 模块化开发
查看>>
元祖 -- (tuple)
查看>>
Django项目:CRM(客户关系管理系统)--39--31PerfectCRM实现King_admin编辑多对多限制
查看>>
Html,CSS和盒子
查看>>
大型统计报表,数据透析表。
查看>>
SpringMVC中的常用注解
查看>>
利用SqlDataAdapter进行分页
查看>>
引用的定义和使用
查看>>
RSA密钥的跨平台通用
查看>>
LoadRunner 11 安装及破解
查看>>
创建线程池的四种方式
查看>>
关于asp.net 性能——关于数据处理相关的优化(转)
查看>>
HashTable、HashSet和Dictionary的区别
查看>>
VS2013常用快捷键
查看>>
【习题 3-10 UVA - 1587】Box
查看>>
【Codeforces Round #451 (Div. 2) A】Rounding
查看>>
【?】【9907】合唱队形
查看>>
【33.33%】【codeforces 552B】Vanya and Books
查看>>