• 高级查询(一)


    数据类型
     整型 int
     小数 double
     精确度要求高的 ———Decimal(18,4)
     对应Java中的类型  BigDecimal

      字符串:nvarchar(32) varchar  char
     char:定长字符串(一旦设定了长度,无论真实内容有多少,都要占用指定长度的空间)
     varchar:可变字符串
     nvarchar()防止乱码出现

    varchar(n),nvarchar(n) 中的n怎么解释:
      nvarchar(n)最多能存n个字符,不区分中英文。
      varchar(n)最多能存n个字节,一个中文是两个字节。
    所占空间:
      nvarchar(n)一个字符会占两个字节空间。
      varchar(n)中文占两字节空间,英文占一个。
    n的取值范围:
      nvarchar(n)?? n的范围是:1与4000之间
      varchar(n)?? n的范围是:1与8000之间
    n的大小是否会影响性能:
      varchar及nvarchar里的长度 n 不会影响空间大小及性能。除非n是max并且内容大于4000或8000
      设置n更多的是业务需要,如限制身份证只能输入18位,再多就报错,或者防止恶意攻击撑爆硬盘。对空间及性能都没有影响
    n设置多大比较好:
      既然对空间及性能都没有影响,那我们只要考虑业务需要就可以了,我分析过微软的数据库,大都设置为:256,也会看到64,128,512,max等,可能是便于记忆吧。

    varchar(n),nvarchar(n)存储空间举例解释:
      包含 n 个字符的可变长度 Unicode 字符数据。字节的存储大小是所输入字符个数的两倍。?
      两字段分别有字段值:我和coffee?
      那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间。?
      如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar。
    varchar和nvarchar如何选择?
      varchar在SQL Server中是采用单字节来存储数据的,nvarchar是使用Unicode来存储数据的.中文字符存储到SQL Server中会保存为两个字节(一般采用Unicode编码),英文字符保存到数据库中,如果字段的类型为varchar,则只会占用一个字节,而如果字段的类型为nvarchar,则会占用两个字节.
    3.日期类型
    DateTime

    函数一定要加小括号!!!!

    2. 创建数据库
    create database 数据库名
     创建表
    create table 表名(
    列名 类型(int) 主键(primary key) 自增(auto_increment) 属性(not null),
    );
     添加记录
    insert into 表名(列名) values(值);
     约束添加:
     1.主键约束
    alter table 表名1
    add constraint pk_列名1 primary key 表名2(列名2);
     删除主键
    alter table 表名 drop primary key

     2.外键约束
    alter table `表名1` add constraint fk_表名1_表名2
    foreign key (`表1中的列名`) references `表2`(表2中的列名);

     3.唯一约束
    alter table 1表 add constraint  uk_l.1列 unique key(1.1列);

     4.添加默认约束
    alter table 表名
    alter column 列名 set default '默认值';

     5.检查约束(不起作用)
    alter table 表名
    add constraint ck_列名 check (条件);

    3.不会设置外键
    解析:1.找到外键表 1的一方是主表
          2.外键表中有非法数据
          3.主外键表中公共列的类型必须相同

    4.什么是引擎?
    解析:能让程序启动并执行的一个程序,也称之为驱动。

    5.
     1.修改表名
    将student改成student2
    alter table 旧表名 rename 新表名
     2.添加列
    alter table 1 add 1.1 varchar(32) not null;
     3.修改列名
    alter table 表名 change 列名  新列名 (类型)bit not null;
     4.删除字段
    alter table 表名 drop 字段名

  • 相关阅读:
    final,finally和finalize三者的区别和联系
    Java程序开发中的简单内存分析
    Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)
    java中的基本数据类型一定存储在栈中吗?
    CDN加速-内容分发网络
    大型Java web项目分布式架构演进-分布式部署
    阿里面试-2019
    jvm调优-从eclipse开始
    eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.Maven
    图解 CMS 垃圾回收机制原理,-阿里面试题
  • 原文地址:https://www.cnblogs.com/fl72/p/8406023.html
Copyright © 2020-2023  润新知