【笔记】 数据库基础02

SQL一些基础的命令

    插入数据

Insert into Persion1(Name,Age)  Values(‘zhanghui’,21);

用newid自动生成序号。

Insert into Persion2(Id,Name,Age) Values(newid(),’hui’,22);

  更新数据

1: UPDATE T_Person1 set Age=30;

2: Update Person set Name=’xiaohui’

Where Age>=20;

**           在数据库中等于号为一个等号。

**          “<>”:表示不等于;

**           或者:为or;

删除数据

     删除表全部

        Delete from Person1

     删除表的数据,表还在。

        Delete from Person1 where  Age>21

数据检索

Select  *  from   <*:表示表名> 后面也可以加where 来区划大小

其启别名

     Select FName as 姓名,FAge as 年龄, FSalary as 月薪 from  Student

聚合函数

       Select count(*) from Student;  <总和>

       Select max(*) from Student;  

       Select sum(*) from Student;   <和>

排序

Select * from Student order by Age  ASC/DESC   <按年龄排序>       

    <ASC:从小到大;DESC:从大到小>

模糊匹配<通配符>

     *单字符通配符以‘_’,它匹配单个出现的字符。

以任意字符开头,剩余部分为‘erry’:

     Select * from Student where FName like ‘_erry’

   *多字符匹配以‘%’,它匹配任意此数出现的字符。“K%”匹配以 K 开头的字符串。

     Select * from Student where FNAme like ‘%n%’

**   在数据库中的NULL为‘不知道’和C#中的解释不一样。不是没有值。

image

数据的分组

按照年龄进行分组统计各个年龄断的人数:

     select FAge ,Count(*) from Student

     group by FAge

   **      group by 子句必须放在where语句之后。

   **      没有出现group by子句中的列是不能放到select语句后的列名列表中的(聚合函数除外)

imageimage

  having语句

在where中不能使用聚合函数,必须使用Having,Having必须位于Group by 之后。

  eg:

            select Name from ,count(*) as 人数 from Student

            group by Name

            Having  count(*)>1       //Having 不能代替where,Having是对组进行过滤的。

image

 

限制结果集的行数

eg:    < 只取前3行>

       select top 3  * from Student

       order by  Name DESC

image

eg:    <只取去除5行的前3个>

select top 3 * from Student
where Name not in(select top 2* from Student order by Age DESC)
order by Age DESC

 

image     <.为什么出现错误???>

 

去除重复数据

eg:

    select Gender  from Student

       image

    select Gender, chinese from Student

      image

eg:    <加入distinct之后,去除重复>

      select distinct Gender,chinese  from Student

          image                       <distinct是对整个结果集进行数据重复处理的而不是针对每一列。> 

     select distinct Gender from Student

       image

 

数据库的命令在不同的数据库中是相同的,但只有掌握了最基础的sql数据库才能应用于oclace等数据库。虽然现在只是学习数据库,但是我觉的还是挺有意思的,自己挺喜欢数据库的。加油。

你可能感兴趣的:(数据库)