zoukankan      html  css  js  c++  java
  • 数据库基础(sqlserver)

    1、更新  update  xxx set  xxx  where  xxxx
         UPDATE T_Debt set FAmount =123 WHERE FPerson='Tom'
    2、插入数据 insert
         INSERT INTO T_Person(FName,FAge,FRemark) VALUES('Jim',20,'USA');
    3、删除  delete  from
         DELETE FROMT_Debt;
         DELETE FROM T_Person WHERE FAge >20 or FRemark ='Mars' (删除年龄大于20或者来自火星的人)
    4、删除   drop  from
         DELETE 语句仅仅是删除表中的数据行, 而表的结构还存在, 而 DROP T ABLE 语句则不仅将表中的数据行全部删除,而且还将表的结构也删除。
          我们不再需要这张表:DROP TABLET_Debt;
    5、创建creat
         CREATE  TABLE  T_Employee  (FNumber  VARCHAR(20),  FName  VARCHAR(20),  FAge INT ,  FSalary NUMERIC(10,2),  PRIMARY KEY (FNumber)) 
         记录员工信息的数据表
         varchar (20) 是字符串长度小于20
         int    是整形
         numeric  是  数值,有小数的
         primary key  是主键
    5、修改Alter
         它与update的区别是:update更新的是具体的数据,而later修改的是数据库的结构
         在数据库中加一列分公司,字符串20以内:ALTER TABLE T_Employee ADD FSubCompany VARCHAR(20);
         UPDATE  T_Employee SET FSubCompany='Beijing',FDepartment='Development'   WHERE FNumber='DEV001'; 
         (1)添加列名:alter table sutdent add s_name varchar(20);
         (2)删除列:alter table student drop column s_name;
         (3)修改列属性:alter table student alter column s_name  varchar(20)not null;
         (4)添加主键:alter table student add constraint pk_sno primary key(sno)  --(constraint:约束)
         (5)删除主键:alter table student drop constraint pk_sno
         (6)删除主键(不知道那个是主键):declare @pk_name varchar(100) select @pk_name=name from 
    sysobjects where xtype ='PK' and parent_obj=object_ID('student') exec('alter table student drop'+@pk_name)
         (7)修改列名:exec sp_rename't_student.name','nn','column'; 
    6、列别名(别名的定义格式为 “列名  AS  别名”)(为了方便)
         SELECT  FNumber  AS  Number1,FName  AS  Name,FAge  AS  Age,FSalary  AS  Salary  FROM  T_Employee
         结果显示的属性行变成:Number1   Name   Age   Salary
         AS不是必须的,可以省略:SELECT  FNumber  Number1,FName  Name,FAge  Age,FSalary  Salary  FROM  T_Employee
    7、排序ORDER BY
         按年龄排序(升序):  SELECT  *   FROM  T_Employee   ORDER BY   FAge   ASC 
         先安年龄排序,如果相同,再以工资排序DESC(降序):   SELECT* FROM  T_Employee  WHERE  FAge>23   ORDER BY  FAge DESC,FSalary DESC 
    8、通配符过滤(LIKE关键字)//避免使用,太慢
         单个字符:“_”,下划线,Ex:b_d,  _oo_,  __o,不能为空。SELECT  *   FROMT_Employee    WHERE   FName  LIKE    '_erry'
         多字符:“%”,可以为空,Ex:k%,%n%。SELECT   *  FROMT_Employee   WHERE   FName   LIKE    '%n%' 
               可以将两者合并:SELECT* FROMT_Employee  WHERE    FName LIKE '%n_' 
         集合匹配(only at SQLServer)(“[]”)
              匹配与字符集任意一个字符相匹配的字符。Ex:[bt]%(匹配第一个字符为b或者为t,长度不定的字符串)
              匹配第一个字符为“J”或者为“S”的字符串:SELECT * FROM   T_Employee   WHERE   FName LIKE   '[SJ]%'
         集合取反(“^”):"[^SJ]%",第一个字符除了SJ以为的字符
    9、空值检测(is NULL   不是=null)
         检测用户名为空的行:SELECT *  FROMT_Employee  WHERE   FNAME IS NULL 
    10、反义字符(“!”非,只适用于SQLServer、DB2
         !=不等于,!>不大于。SELECT *  FROMT_Employee  WHERE  FAge!=22   AND  FSALARY!<2000
         (其他数据库管理可以使用NOT,推荐使用NOT
         SELECT *  FROM    T_Employee   WHERE NOT(FAge=22) AND NOT(FSALARY<2000) 
    11、多值检测(in关键字
         取代了or关键字,当需要查询的限制条件比较多时!
         Ex:取年龄为23,25,26的员工,SELECT  FAge,FNumber,FName  FROMT_Employee  WHERE    FAge IN(23,25,28)
    12、数据分组(GROUP BY)
         公司人员的年龄段:SELECT  FAge FROM    T_Employee   GROUP  BY   FAge
  • 相关阅读:
    5.21php
    5.20日报
    kubernetes
    kubernetes
    Kubernetes
    Docker
    Docker
    Docker
    Docker
    Docker
  • 原文地址:https://www.cnblogs.com/shadow-fei/p/3369684.html
Copyright © 2011-2022 走看看