zoukankan      html  css  js  c++  java
  • SQL基本操作

    系统数据库

        1、master:用于记录所有SQL server系统级别的信息,比如说登录的信息,系统设置信息。如果他没了。你的SQL server就挂了。

        2、model:模型的意思,就像模板一样。创建数据库都是继承model。如果你在该数据库下创建一张表,以后每创建新数据库,就已经有了model的表。

        3、msdb:和master一样记录信息,不同的是它记录任务调动,事件处理,数据备份及恢复,报警和异常的信息。

        4、tempdb:临时数据库,它为所有临时表,临时存储过程提供存储空间

    注意:以上四个系统数据库,别去删,删了有大大小小的问题。

    数据类型:

        1数值型:

              整型:int  smallint  bigint  tinyint

              浮点型:float  real

              货币型:money

        2布尔型(bit):

             True

             False

        3二进制型

             binary

             varbinary

             image

        4文本数据类型

            char    固定长度

            vachar  可变长度

            nvarchar

            nchar  

            text    长文本信息

            ntext   可变长度的长文本

            datetime 日期和时间

    新建数据库:

        1数据库文件  :主数据文件和副数据文件

        2日志文件:一个或多个

        3create database 名称

    重命名数据库:exec sp_renamedb new,old

    删除数据库:drop database 名称1,名称2

    新建数据库:

        create database test(数据库文件名)

        on

        (

        name=test_data(主数据文件),

        filename = 'D:ProgramFilesSQLdata est_data.mdf',

        size=6(初始化大小),

        maxsize=12,

        filegrowth(增长率)=10%

        )

        log on

        (

        name=test_log(日志文件),

        filename='D:ProgramFilesSQLdata est_log.ldf',

        size=1,

        maxsize=8,

        filegrowth=10%

        )

    创建表:

      create table 教师表

      (

      教师编号 int identity(1,1) primary key,

      教师姓名 varchar(20) not null,

      教师年龄 int,

      教师工资 money,

      奖金 money,

      总收入 money,

      合作院校 varchar

      )

      说明:

        identity:表示自增长,通常为ID赋值

        primary key:主键

        not null:不为空

      注意:每个字段后面的逗号别忘了

    查询表:

        select * from 教师表

        select 奖金,总收入 from 教师表

    删除表:

        use test--切换到该表所在的数据库下,如果已经在,就不用切换

        drop table 教室表--删除整个表

    删除表,但不删除表结构,只清空数据;

        Truncate table 教师表

    重命名表:

        exec sp_rename 教师表,教师表1

    新增字段:

        alter table 教师表

        add Email varchar(60) default ''

    修改字段:

        alter table 教师表

        alter column 教师薪资 int

    删除字段:

        alter table 教师表

        drop column 家庭住址

    新增数据:

        insert into 教师表(教师年龄,教师职称,教师薪资,课程)

        values(19,'微微',100000,'java')

    查询数据:

        select * from 教师表 where 教师薪资<10000

        select * from 教师表 where 教师薪资 in(5555,6666,9999)

        select * from 教师表 where 姓名  not in(select 班主任 from 课程表)

        select 姓名,教师薪资+奖金 as 总收入 from 教师表

        select * from 课程表 where 合作学校 like '%马%'

        select * from 课程表 where 合作学校 like '黑%'

         select top 4 * from 课程表

        select top 20 percent * from 教师表

        select * from 课程表1 intersec select * from 课程表2   集合交

        select * from 教师表,课程表1 where 教师表.姓名=课程表1.班主任

        select * from 教师表,课程表1 where 姓名=班主任     去后缀

        排序:

            select * from 教师表 order by 年龄 --默认升序,倒序desc

            select * from 教师表 order by 年龄,教师薪资

        去重:

            select distinct 姓名 from 教师表

        统计求和:

            select COUNT(*) as 行数 from 教师表

            select COUNT(姓名) from 教师表

        平均:

            select avg(教师薪资) from 教师表

        最大和最小:

            select max(教师薪资) from 教师表

    更新数据:

        update 教师表 set 教师年龄=28,教师薪资=7777 where 教师编号=4

        update 教师表 set 姓名='莲花中学之'+姓名

    删除数据:

        delete from 教师表 where 教师编号=7

    约束:

    1、unique:唯一约束,一个表可以有多个约束,但primary 约束只有一个

     

    2、Primary key:约束唯一标识数据库中的每条记录,主键必须包含唯一值,不能包含null值,有且只有一个主键。

     

    3、Foreign key:两个表的约束

     

    4、check 约束:如果对单个列定义check约束,那么该列值运行特定的值。

                      如果对一个表定义check约束,那么此约束会在特定的列中对值          进行限制。

    5、default:默认值

    alter table userIofo

    add constraint PK_userId primary key(userId),

        constraint CK_userPwd check(len(userPwd)>6),

        constraint Ck_Gender check(Gender=0 or Gender=1),

        constraint DF_Gender default(0) for gender,

        constraint CK_Email check(Email like '%@%')

    --[1]外键约束时注意类型,长度必须与引用的主键列的类型,长度一致

    --[2]外键约束时注意引用表中必须要有主键列

    --[3]exec sp_helpconstraint 表名称

  • 相关阅读:
    判断一个图是否有环 无向图 有向图
    经典算法解析
    图的深度优先遍历DFS(邻接矩阵表示法)
    Prim算法求最小生成树MST以及和kruskal算法的对比
    oracle连接中出现错误ORA12541,ORA12514,ORA01017的解决方法
    visual studio 自动整理代码
    解决Google code和Google group无法登录的问题
    Dijkstra算法求单源最短路径(二)(BFS的改版)
    快速排序算法QuickSort
    推荐资料
  • 原文地址:https://www.cnblogs.com/xjmlove/p/9062685.html
Copyright © 2011-2022 走看看