数据库创建表以及增删改查

创建数据库

         语法: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的班级的学生的姓名

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值