您正在使用IPV4(3.236.253.192)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器 行情 简化版
文明驾车我带头,文明行路我带头,礼貌让座我带头      

【腾讯云】云产品限时秒杀,爆款1核2G云服务       [公益] 节省一分零钱 献出一份爱心 温暖世间真情      
虚位以待
2021年 冬至节 56
2021年 圣诞节 60
2022年 元 旦 67
2022年 春 节 98
 
  • 本类新增
    本类热门文章
    您现在的位置:首页 >> 数据库 >> 内容
    用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等
    内容摘要: 用SQL语句添加删除修改字段1.增加字段altertabledocdspadddspcodechar(200)2.删除字段ALTERTABLEtable_NAMEDROPCOLUMNcolumn_NAME3.修改字段类型ALTERTABLEtable_nameALTERCOLUMNcolumn_namenew_data_type4.sp_rename改名更改......
    用SQL语句添加删除修改字段

    1.增加字段

    altertabledocdspadddspcodechar(200)

    2.删除字段

    ALTERTABLEtable_NAMEDROPCOLUMNcolumn_NAME

    3.修改字段类型

    ALTERTABLEtable_nameALTERCOLUMNcolumn_namenew_data_type

    4.sp_rename改名

    更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。

    语法

    sp_rename[@objname=]'object_name',

    [@newname=]'new_name'

    [,[@objtype=]'object_type']

    如:EXECsp_rename'newname','PartStock'

    5.sp_help显示表的一些基本情况

    sp_help'object_name'如:EXECsp_help'PartStock'

    6.判断某一表PartStock中字段PartVelocity是否存在

    ifexists(select*fromsyscolumnswhereid=object_id('PartStock')andname='PartVelocity')

    print'PartVelocityexists'

    elseprint'PartVelocitynotexists'

    另法:

    判断表的存在性:

    selectcount(*)fromsysobjectswheretype='U'andname='你的表名'

    判断字段的存在性:

    selectcount(*)fromsyscolumns

    whereid=(selectidfromsysobjectswheretype='U'andname='你的表名')

    andname='你要判断的字段名'

    一个小例子

    --假设要处理的表名为:tb

    --判断要添加列的表中是否有主键

    ifexists(select1fromsysobjectswhereparent_obj=object_id('tb')andxtype='PK')

    begin

    print'表中已经有主键,列只能做为普通列添加'

    --添加int类型的列,默认值为0

    altertabletbadd列名intdefault0

    end

    else

    begin

    print'表中无主键,添加主键列'

    --添加int类型的列,默认值为0

    altertabletbadd列名intprimarykeydefault0

    end

    7.随机读取若干条记录

    Access语法:SELECTtop10*From表名ORDERBYRnd(id)

    Sqlserver:selecttopn*from表名orderbynewid()

    mysqlselect*From表名OrderByrand()Limitn

    8.说明:日程安排提前五分钟提醒

    SQL:select*from日程安排wheredatediff(minute,f开始时间,getdate())>5

    9.前10条记录

    selecttop10*formtable1where范围

    10.包括所有在TableA中但不在TableB和TableC中的行并消除所有重复行而派生出一个结果表

    (selectafromtableA)except(selectafromtableB)except(selectafromtableC)

    11.说明:随机取出10条数据

    selecttop10*fromtablenameorderbynewid()

    12.列出数据库里所有的表名

    selectnamefromsysobjectswheretype=U

    13.列出表里的所有的字段名

    selectnamefromsyscolumnswhereid=object_id(TableName)

    14.说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select中的case。

    selecttype,sum(casevenderwhenAthenpcselse0end),sum(casevenderwhenCthenpcselse0end),sum(casevenderwhenBthenpcselse0end)FROMtablenamegroupbytype

    15.说明:初始化表table1

    TRUNCATETABLEtable1

    16.说明:几个高级查询运算词

    A:UNION运算符

    UNION运算符通过组合其他两个结果表(例如TABLE1和TABLE2)并消去表中任何重复行而派生出一个结果表。当ALL随UNION一起使用时(即UNIONALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1就是来自TABLE2。

    B:EXCEPT运算符

    EXCEPT运算符通过包括所有在TABLE1中但不在TABLE2中的行并消除所有重复行而派生出一个结果表。当ALL随EXCEPT一起使用时(EXCEPTALL),不消除重复行。

    C:INTERSECT运算符

    INTERSECT运算符通过只包括TABLE1和TABLE2中都有的行并消除所有重复行而派生出一个结果表。当ALL随INTERSECT一起使用时(INTERSECTALL),不消除重复行。

    注:使用运算词的几个查询结果行必须是一致的。

    17.说明:在线视图查询(表名1:a)

    select*from(SELECTa,b,cFROMa)Twheret.a>1;

    18.说明:between的用法,between限制查询数据范围时包括了边界值,notbetween不包括

    select*fromtable1wheretimebetweentime1andtime2

    selecta,b,c,fromtable1whereanotbetween数值1and数值2

    19.说明:in的使用方法

    select*fromtable1wherea[not]in(‘值1','值2','值4','值6')

    20.说明:两张关联表,删除主表中已经在副表中没有的信息

    deletefromtable1wherenotexists(select*fromtable2wheretable1.field1=table2.field1)

    21.说明:复制表(只复制结构,源表名:a新表名:b)(Access可用)

    法一:select*intobfromawhere1<>1

    法二:selecttop0*intobfroma

    22.说明:拷贝表(拷贝数据,源表名:a目标表名:b)(Access可用)

    insertintob(a,b,c)selectd,e,ffromb;

    23.说明:跨数据库之间表的拷贝(具体数据使用绝对路径)(Access可用)

    insertintob(a,b,c)selectd,e,ffrombin‘具体数据库'where条件

    例子:..frombin"&Server.MapPath(".")&"\data.mdb"&"where..

    24.创建数据库

    CREATEDATABASEdatabase-name

    25.说明:删除数据库

    dropdatabasedbname

    26.说明:备份sqlserver

    ---创建备份数据的device

    USEmaster

    EXECsp_addumpdevicedisk,testBack,c:\mssql7backup\MyNwind_1.dat

    ---开始备份

    BACKUPDATABASEpubsTOtestBack

    27.说明:创建新表

    createtabletabname(col1type1[notnull][primarykey],col2type2[notnull],..)

    根据已有的表创建新表:

    A:createtabletab_newliketab_old(使用旧表创建新表)

    B:createtabletab_newasselectcol1,col2…fromtab_olddefinitiononly

    28.说明:

    删除新表:droptabletabname

    29.说明:

    增加一个列:Altertabletabnameaddcolumncoltype

    注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

    30.说明:

    添加主键:Altertabletabnameaddprimarykey(col)

    说明:

    删除主键:Altertabletabnamedropprimarykey(col)

    31.说明:

    创建索引:create[unique]indexidxnameontabname(col….)

    删除索引:dropindexidxname

    注:索引是不可更改的,想更改必须删除重新建。

    32.说明:

    创建视图:createviewviewnameasselectstatement

    删除视图:dropviewviewname

    33.说明:几个简单的基本的sql语句

    选择:select*fromtable1where范围

    插入:insertintotable1(field1,field2)values(value1,value2)

    删除:deletefromtable1where范围

    更新:updatetable1setfield1=value1where范围

    查找:select*fromtable1wherefield1like'%value1%'---like的语法很精妙,查资料!

    排序:select*fromtable1orderbyfield1,field2[desc]

    总数:selectcount*astotalcountfromtable1

    求和:selectsum(field1)assumvaluefromtable1

    平均:selectavg(field1)asavgvaluefromtable1

    最大:selectmax(field1)asmaxvaluefromtable1

    最小:selectmin(field1)asminvaluefromtable1

    34.数据库备份:

    复制代码代码如下:

    USEDB_ndmspmasterdb;

    GO

    [email protected](500)

    [email protected]='D:\NDM_Data\DB_NDMSpMasterdb'+CONVERT(VARCHAR,GETDATE(),105)+'.Bak'

    [email protected]

    BACKUPDATABASEDB_ndmspmasterdb

    [email protected]

    WITHFORMAT,

    MEDIANAME='Z_SQLServerBackups',

    NAME='FullBackupofDB_ndmspmasterdb';

    GO

    版权声明:本内容来源于互联网,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
    上一篇:SQL 提权 常用命令 下一篇:SQL修改语法语句梳理总结
    发布日期:2021/10/11
    手机扫二维码直达本页
    发布时间:15:02:18
    点击:219
    录入:壹家怡园
    相关文章
    Baidu
    YiJiaCMS 6.0.6.10688 Build 21.10.13(MSSQL) 闽ICP备05000814号-1
    本空间由景安网络提供,百度云加速提供加速防护
    ©2000-2021