数据库回顾之简单语法基础

 一 主要记住下面三类SQL 指令

      1 DDL : create alter drop

      2 DML : select delete insert update

      3 DCL : grant revoke  授权

   二 一些基础语句语法

      1 创建数据表

           create table [database_name.][schema_name]   table_name 

            (column_name column_property  column_constraint,….)

      

create table student(

stuId int identity(1,1) primary key,   --identity设置自动增长

stuName varchar(20) not null,    --not null 非空

stuAge int ,

stuClass varchar(10)

)

 

     常用的约束:

   null /not null 非空约束

   primary key 主键约束

   unique 唯一性检查

   check  检查约束

    identity 标识列  设置自动增长的  identity(1,1)

  default 默认值

   foreign key 外键

   

主键/外键/唯一/默认值/检查约束:

CONSTRAINT 约束名

PRIMARY KEY(外键列名)

|FOREIGN KEY (列名) REFERENCES  主表名 (主键列名)

|UNIQUE(列名)

|[CHECK(条件表达式) DEFAULT(表达式) FOR 列名]

 

 

   三 对表的一些操作

    1 管理表

          显示表结构:系统存储过程sp_help 表名

         增加列:alter table 表名  add 列名 数据类型[(长度)]  null |not null

         修改列:alter table 表名alter column 列名 数据类型[(长度)]  null | not null

 

    2 增删查改

      --增 : insert [into] table (字段名1,字段名2,...) values(值1,值2...)

      --删:  delete from table

      --改:  update table set 字段名1 = 表达式

      --查 : select * from table

 

  3 对于数据表的单表查询

         select distinct kind from course  利用distinct来过滤重复的选项

(1)使用别名

方法一:SELECT StuNo ‘学号’,StuName ‘姓名’FROM  Student

方法二:SELECT StuNo =‘学号’,StuName =‘姓名’ FROM  Student

方法三:SELECT StuNo  AS  ‘学号’,StuName AS ‘姓名’ FROM  Student

(2)表达式作为查询结果

(3)带条件查询

WHERE子句中允许使用的比较运算符包括:=(等于)、<(小于)、>(大于)、<>(不等于)、!>(不大于)、!<(不小于)、>=(大于等于)、<=(小于等于)、!=(不等于)。

逻辑运算符:NOT(非)、AND(与)、OR(或)

使用IS NULL或NOT IS NULL查询指定列未输入值或已输入值的数据行

使用BETWEEN或NOT BETWEEN关键字可以更方便的限制查询数据的范围,相当于比较和AND的结合

使用IN或NOT IN关键字,相当于=(!=)和OR的组合

使用LIKE模糊查询,通配符含义如下

  %  表示0~N个任意字符

_ 下划线 代表单个任意字符

[] 表示方括号中列出来的任意一个字符

[^ ] 表示任意一个没有再方括号中列出来的字符


(4) 常见的聚合函数

  sum(表达式)  求和

  avg(表达式)  求平均

 Min(表达式) 最小值

Max(表达式) 最大值

count(表达式) 查询满足条件的记录条数

count(*)  返回查询到的记录数


(5)使用分组

SELECT 列名1[,列名2…列名n]

FROM 表名

GROUP BY 列名1 

HAVING 表达式 

注意:HAVING可以对分组的结果进行筛选;当使用分组时,select后的聚合函数列可以出现多列

(6)使用子查询

使用比较运算符的子查询:SELECT 列名FROM 表名WHERE 表达式 比较运算符(子查询) 

使用IN或NOT IN实现子查询:SELECT 列名FROM 表名WHERE  列名 [NOT] IN(子查询)

  





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值