• sql sever数据库常用的执行语句


    --使用master数据库
    use master

    --创建数据库文件
    create database 数据库名字
    on

      name=, --逻辑名称
      filename= .ndf, --数据文件物理路径名称
      size=, --文件初始大小
      maxsize= , --文件最大的大小
      filegrowth= --自动增长

    --创建数据库日志文件
    log on

      name=, --逻辑名称
      filename= .ldf, --日志文件物理路径名称
      size=, --文件初始大小
      maxsize= , --文件最大的大小
      filegrowth= --自动增长

    go

    --修改数据库的名称
    alter database 数据库名称
    modify name = 新名称

    --给数据库添加一个数据文件
    alter database testdb
    add file

      name=, --逻辑名称
      filename= .ndf, --数据文件物理路径名称
      size=, --文件初始大小
      maxsize= , --文件最大的大小
      filegrowth= --自动增长

    go

    --给数据库添加一个日志文件
    alter database testdb
    add log file

      name=, --逻辑名称
      filename= .ldf, --日志文件物理路径名称
      size=, --文件初始大小
      maxsize= , --文件最大的大小
      filegrowth= --自动增长

    go

    --删除数据文件或日志文件
    alter database testdb
    remove file 数据文件逻辑名称
    go

    alter database testdb
    remove file 日志文件逻辑名称
    go

    --修改数据文件或日志文件
    alter database testdb
    modify file

      name=, --逻辑名称
      filename= .ndf, --数据文件物理路径名称
      size=, --文件初始大小
      maxsize= , --文件最大的大小
      filegrowth= --自动增长

    go
    modify file

      name=, --逻辑名称
      filename= .ldf, --日志文件物理路径名称
      size=, --文件初始大小
      maxsize= , --文件最大的大小
      filegrowth= --自动增长

    go


    --分离数据库(执行存储过程)
    exec sp_detach_db 数据库名字
    go

    --附加数据库(执行存储过程)
    exec sp_attach_db @dbname=, --附加的逻辑名称
    @filename1=, --数据文件物理路径名称
    @filename2= --日志文件物理路径名称
    go


    --删除数据库
    use master
    go

    drop database 数据库名字
    go

     

    --数据类型

    种类:
    数字数据类型:int,bigint,smallint,tinyint,decimal,mumeric,float,real,money,smallmoney,bit

    字符数据类型:char,varchar,nchar,nvarchar,ntext text

    日期和时间:datetime,smalldatetime,date,time,datetime2,datetimeoffsef

    二进制数据类型:binary,varbinary,image

    其他数据类型:uniqueidentifier,xml,timestamp,sql_variant

    整型:
    bigint(取值范围在(-2^63次方)到(2^63次方-1))、存储8个字节。(不常用)
    int(取值范围在(-2^31次方)到(2^31次方-1))、存储4个字节。
    smallint(取值范围在(-2^15次方)到2^15次方-1)、存储2个字节。
    tinyint(取值范围在0到255)、存储1字节。

    浮点类型:
    float(存储取决与n的值)
    real(存储4个字节)

    字符类型:
    char 类型是固定长度
    varchar 类型是可变长度

    日期类型:
    datetime(取值范围在 1753年1月1日到9999年12月31日)、精确度3.33毫秒。
    smalldatetime(取值范围在 1900年1月1日到2079年6月6日)、精确度1分钟。

    其他类型:

    a)用于存储大型非Unicode字符、Unicode字符及二进制数据的固定长度数据类型和可变长度数据类型:
    ntext:类型长度是可变的Unicode,最大长度为2^30次方-1个字符,存储大小是所输入字符个数的两倍。
    text:服务器代码页中长度可变的非Unicode数据,最大长度为2^31次方-1个字符,当服务器代码页使用双字节字符时,存储仍是2,147,483,647 字节。根据字符串,存储大小可能小于2,147,483,647 个字节。
    image:长度可变的二进制数据,从0到2^31次方-1个字节。

    b)用来存储Unicode字符数据集的字符数据类型(nchar 长度固定,nvarchar 长度可变)。
    nchar[(n)]:n个字符的固定长度的Unicode字符数据,n值必须在1到4000之间(含)。存储大小为两倍n字节。
    nvarchar[(n|max)]:可变长度Unicode字符数据,n值咋1到4000之间(含),max指示最大存储大小为2^31次方-1字节。
    存储大小是所输入字符个数的两倍+2个字节,所输入数据的长度可以为0个字符。

    c)用来存储二进制数据的固定长度或可变长度的Binary数据类型。
    binary[(n)]:长度为n字节的固定长度二进制数据,其中n是从1到8,000的值。存储大小为n字节。
    varbinary[(n|max)]:可变长度二进制数据。n可以取从1到8,000的值。max指示最大的存储大小为2^31字节-1字节。存储大小为所输入数据的实际长度+2个字节。所输入数据的长度可以是0字节。


    创建数据表:

    --先使用新创建的数据库,然后再创建表
    use 数据库名
    go

    --创建数据表
    create table 数据表名
    (
    --表里的字段的定义
    --语法:字段名 数据类型 [约束]
    --约束可加可不加,加一个约束可以,加多个约束也可以
    )
    go

    --创建数据表添加约束
    create table 数据表名
    (
    --identity标识列约束:自动增长,只能在整形的列上添加该约束
    --primary key主键约束:不能为空且值不能重复
    --unique唯一约束:值唯一不能重复,但可以为空
    --not null非空约束:值不能为空
    --check检查约束:可以设置检查条件
    --default默认约束:可以设置默认值
    )
    go

    --修改表
    alter table 表名

    --添加列
    alter table 表名
    add 列名 数据类型 列的特征

    --删除表
    drop table 表名

    --删除列
    alter table 表名
    drop column 列名

    --修改用户名
    alter table 表名
    alter column 列名

    --添加检查约束
    alter table 表名
    add constraint 约束名 约束表达式

    --删除一个约束
    alter table 表名
    drop constraint 约束名


    约束类型:

    主键约束(primary key constraint):主键列数据唯一,并且不为空,简称pk。
    唯一约束(unique constraint):保证该列不允许出现重复值,简称UQ。
    检查约束(check constrait):限制列中允许的取值以及多个列之间的关系,简称CK。
    默认约束(default constraint):设置某列的默认值,简称DF。
    外健约束(foreign key constraint):用于在两个表之间建立关系,需要指定主从表,简称FK。

    添加约束语法:
    alter table 表名
    add constraint 约束名 约束类型 具体的约束说明

     

    数据操纵语言(DML):
    按照指定的组合、条件表达式或排序检索已存在的数据库中数据,或对已经存在的数据库表进行元组的插入、删除、修改等操作。
    命令:
    select 字段名 from 表名
    where 当下条件

    insert into 表名(字段名)
    values(值1、值2、值....)

    update 表名 set 字段名=值
    where 当下条件

    delete from 表名
    where 当下条件

    数据定义语言(DDL)
    创建、修改或删除数据库中各种对象,包括表、视图、索引等。
    命令:
    create table , create view ,create index、alter table , drop table , drop view , drop index

    数据控制语言(DCL)
    用来授予或收回访问数据库的某种特权、控制数据访问的发生时间及效果、对数据库进行监视。
    命令:
    grant、revoke

    事务控制语言(TCL)
    用来操作事务提交或回滚操作的语句。
    命令:
    commit、rollback


    逻辑运算符:
    and 逻辑语 (如果两个布尔表达式都为true,那么就为true)。
    not 逻辑非 (对任何其他布尔运算符的值取反)。
    or 逻辑或 (如果两个布尔表达式中的一个为true,那么就为true)

    比较运算符
    between (如果操作输在某个范围之内,那么就为true)。
    in (如果操作数等于表达式列表中的一个,那么就为true)。
    like (如果操作数与一种模式相匹配,那么就为true)。

    通配符:
    % (包含零个或更多字符的任意字符串)。
    _(下划线) (任何单个字符)。


    添加数据操作:
    插入数据:
    1)insert into 表名(字段1、字段n...)
    values(值1、值2、值....)

    2)insert into 表名
    select 字段 from 新表名

    直接创建没创建的表:
    3)select 字段 into 未创建过的新表名 form 表名

    4)insert into 表名
    values (值1),(值2),(值3)

    5)insert into 表名
    select 值1 union 值2 union 值3

     

    修改数据操作:
    updade 表名 set 字段名 (不带条件)
    updade 表名 set 字段名1、字段名2 where 当下条件 (带条件)


    删除数据操作:
    delete from 表名 (不带条件)
    delete from 表名 where 当下条件 (带条件)

    删除表里的所有数据:
    truncate table 表名


    查询数据操作:
    --查询所有行所有列
    select * from 表名

    --查询部分行部分列
    select 字段1,字段2,字段n from 表名

    --查询部分行所有列
    select * from 表名
    where 当下条件

    --查询部分行部分列
    select 字段1,字段2,字段n from 表名
    where 当下条件


    --指定列查询,并给每一列设置一个列名(相当于取一个别名)
    第一种方式:
    select 别名1=字段名1,别名2=字段名2,别名n=字段名n from 表名

    第二种方式:
    select 字段名1 as 别名1,字段名2 as 别名2,字段名n as 别名n from 表名


    group by分组查询:
    第一种方式:
    select 字段名1 from 表名 group by 字段名1

    第二种方式:
    select 字段名1 from 表名
    where 当下条件
    group by 字段名1

    第三种方法:
    select 字段名1 from 表名
    group by 字段名1
    having count(*)范围

    第四种方法:
    select 字段名1 from 表名
    where 当下条件
    group by 字段名1
    having count(*)范围

    order by查询后排序:
    第一种方法(降序):
    select * from 表名
    order by 字段名 desc

    第二种方法(升序):
    select * from 表名
    order by 字段名 asc(asc不写,默认的也是升序)

    第三种方法(按多个不同的类型分别排序):
    select * from 表名
    order by 字段名1 desc(降序),字段名2 desc(降序)

    top取前几条数据:
    第一种方法(比如取前5条):
    select top 5 * from 表名

    第二种方法(用10%):
    select top 10 percent * from 表名

    使用“+”符号进行多列合并并查询

     

    注:

       1、可能有忽略了一些,但基本上很齐全。

      2、本博文为原创,是个人积累的笔记。

  • 相关阅读:
    kubesphere在应用商店安装rabbitmq注意事项
    js中两个感叹号的作用!!
    Mysql5.7 时间Datetime 索引不生效问题
    Electron NodeJS 订阅和消费RabbitMQ详细笔记
    QGraphicsItem QGraphicsObject 项目进行属性动画时候,需要注意。
    vcpkg默认x64版本
    联级查询 id 和 parentid 左外查询
    SQL server 获取表、视图字段属性
    SQL 异常捕获和事务回滚
    关联查询,两表关联逗号隔开查询
  • 原文地址:https://www.cnblogs.com/laibin/p/5843405.html
Copyright © 2020-2023  润新知