CREATE DATABASE CUSDB 创建数据库
USE CUSDB 使用 转换到新建的数据库
CREATE TABLE 表名
(
列1 名字 数据类型[[IDENTITY(起始值,步长 自动递增)]PRIMARY KEY 主键], 列之间用逗号隔开
列2 列名 数据类型 是可变的
)
创建表 在表userInfo 里包含5列 第一列为自动递增列,主键
CREATE TABLE userInfo Info 代表信息 T- 表格
(
userID INT IDENTITY PRIMARY KEY,
userName VARCHAR(50),
userPass VARCHAR(50),
userEmail VARCHAR(100),
userPhone VARCHAR(11)
)
逗号是列的分割符 不是结束
添加数据 语法
INSERT INTO 表名(列1,列2,...) VALUES('所添加的数据')
如果不写列 就按照创建的顺序来自动输入
添加数据 一次加多行 批量插入数据
多组 用逗号隔开
语法1:
INSERT INTO 表名(列1,列2,...) VALUES('列1的值,列2得值...'),('列1的值,列2得值...') ......
批量插入 将一个表里的数据 添加到另一个表
INSERT INTO 要插入的表名(b表)
select * from 有数据的表(a表)
把a表数据 插入到 b表
衍生:
insert into B表
insert值1,值2,...
union all
select 值1,值2,...
union all
select 值1,值2,....
...
union all
select 值1,值2,...
查找 数据 语法
SELECT 列1,列2,...FROM 表名
WHERE 条件
例子 SELECT 列1 WHERE 条件 and...,or
[between...and...]
在常用查询中有精确的查询和模糊的查询
精确查找用=匹配
模糊查询用like匹配条件
多表连接查询
案例:
SELECT 表名1.列1,表名1.列2,...
表名2.列1,表名2.列2...
如果这个列在数据库中只存在一个 便可以省略表名
SELECT LXRInfo.lxrName,LXRInfo.lxrPhone
FROM表1
FROM LXRInfo
JOIN表2 on 链接条件(主外键关系)
例子:
JOIN UserInfo ON UserInfo.userId=LXRInfo.userID
....
JOIN 表n ON 链接条件
JOIN typeInfo ON typeInfo.typeId=LXRInfo.typeId
再加特定条件查询
WHERE...
JOIN ON 显示匹配数据
LEFT JOIN ON 显示所 左表 的所有数据
左表是我们所写的查询的主表
多表连接查询 将两个表合起来一起查询 (两表联合查询)
两表结构必须一致
SELECT *FROM 表一
UNION 或union all
SELECT * FROM 表二
UNION 和 UNION ALL 差异
UNION 会删除掉重复的数值 UNION ALL 会包含重复的数值
CREATE VIEW 视图名 (VIEW 视图)名字最好以v-开头
AS
查询语句
使用视图
select * from 视图名
delete 表名 where 条件
语法:
UPDATE 表名
set 列 =值,列2=值
where 条件
每页十条 第一页前十条
SELECT TOP 10 * FROM 表 WHERE 主键NOT IN(SELECT TOP 10 主键 from 表)
SELECT TOP C FROM 表WHERE 主键NOT IN (SELECT TOP C (N-1) 主键 from 表)
SELECT * FROM 表 WHERE 行号 BETWEEN C (N-1)+1 AND C N
SELECT ROW_NUMBER ( ) OVER ( ORDER BY 主键 desc) 行的起名,* FROM 表
给表里的列做排序
原文:https://www.cnblogs.com/wqxj-whf/p/SQL_zsgc.html