创建数据库

         语法:create database [数据库名]

         例:create database School;

创建表

语法:create table [表名]

        (

            列名1 数据类型,

            列名2 数据类型,

             ……


         例:create table Students (
                  name varchar(20),
                  sex char(2),
                  ID char(11),
                  class varchar(20)
                );

增:

1.使用insert将具体指直接插入表中:

         语法:insert [into]<表名> [列名] values <列值>

    例:insert into Students (name,ID,class) values ('陈雨豪','16408070619','软工1603');

2.使用insert将select语句的查询结果添加到已有的表中:

        语法:insert into <表名> <列名> select <列名> from <表名>

   例:insert into Score (姓名,学号,班级)

                    select name,ID,class         

                    from  Strdents;

      注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致

删:

使用delete删除表中某些元组

    语法:delete from <表名> [where <删除条件>]    

    例:delete from Students

           where name='陈雨豪'(删除表Students中name列值为‘陈雨豪’的行) 

    注意:delete删除的是元组,所以在delete后面不能出现字段名

               删除表的所有行,但表的结构、列、约束、索引等不会被删除,即表依然存在

改:

 使用update更新修改数据         

    语法:update <表名> set <列名=更新值> [where <更新条件>] 

    例:update Students set class='软工1801' where name = '陈雨豪';

查:

单表查询:

    语法:select <列名> from <表名> [where <查询条件表达试>] [order by<排序的列名>[asc或desc]]

   1).查询表中所有数据行和列

    例:select *

                      from Students

    说明:查询Students表中所有行和列

   2).条件查询

    例:select name  

                      from  Students  

                      where class = '软工1603';

    说明:查询表Students中班级为‘软工1603’的所有行,并显示姓名

               注意:多个条件之间应该使用适当的谓词进行连接

   3).在查询中使用as更改列名

    例:select name as 姓名 

                      from Students

                       where  class='软工1603';

    说明:查询Students表中班级为‘软工1603’的所有行,显示name列,并将name列改名为姓名显示

   4).查询空行

    例:select name

                      from Students

                      where class is null;

    说明:查询表Students 中class 为空的所有行,并显示name列(SQL语句中用is null或者is not null来判断是否为空行)

   5)查询返回限制行数

    例:select top 6 name

                     from Students;

    说明:查询表Students,显示列name的前6行

   6).查询排序

    例:select name

      from Score

      where grade>=60 

      order by desc;

    说明:查询表中成绩大于等于60的所有行,并按降序显示name列(desc为降序,asc为升序)

   7).使用like进行字符匹配

    例:select *

                     from Students

                     where name like '陈%';

    说明:查询显示表Students 中,name字段第一个字为陈的记录

               注意:通配符%代表任意长度,_代表单个字符

   8).使用between在某个范围内进行查询

    例:select *

                      from Students

                      where age between 18 and 20;

    说明:查询显示表Students 中年龄在18到20之间的记录

   9).使用group by进行分组查询

    例:select name

      from Students

      group by class

               说明:查询Students表中name字段的所有记录,并按照class字段进行分组

           10).使用having子句进行分组筛选

    例:select name    

      from Students

      group by class

      having count(*)>30

    说明:查询Students表中班级人数大于30的班级的学生的姓名