zoukankan      html  css  js  c++  java
  • 【数据库】nchar,char,varchar与nvarchar区别

    以前在创建数据库的时候使用数据类型,只知道别人让创建什么类型自己就创建什么类型,结果是自己也不明白这些类型究竟是怎么回事,什么时候用到什么类型。今天在看视频的时候看到老师用了数据类型——nvarchar;我实在看不下去了,因为以前我用的都是varchar,我不知道这两种究竟有什么区别,所以就查了一些资料,想要弄明白这些类型究竟是怎么回事。

    char:对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。

    Varchar类型::变长型字符数据类型,存储最长长度为8,000 个字符。Varchar的类型不以空格填满,比如varchar(100),但它的值只是"haha",则它的值就是"haha"。而char 不一样,比如char(100),它的值是"haha",而实际上它在数据库中是"haha"(haha后共有96个空格,就是把它填满为100个字节)。由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉! 

    nvarchar:  包含   n   个字符的可变长度   Unicode   字符数据。n   的值必须介于   1   与   4,000   之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar   在   SQL-92   中的同义词为   national   char   varying   和   national   character   varying。

    varchar一般适用于英文和数字,Nvarchar适用中文和其他字符,其中N表示Unicode常量,可以解决多语言字符集之间的转换问题

  • 相关阅读:
    数据仓库
    HiveSQL 数据定义语言(DDL)
    HiveSQL 数据操控、查询语言(DML、DQL)
    【ASP.NET Core】Blazor+MiniAPI完成文件下载
    MySQL的WAL(WriteAhead Logging)机制
    MySQL系列 | 索引数据结构大全
    眼见为实,看看MySQL中的隐藏列
    mysql的默认隔离级别:可重复读(Repeatable Read)
    缓存淘汰算法LRU算法
    Android设计模式系列(12)SDK源码之生成器模式(建造者模式)
  • 原文地址:https://www.cnblogs.com/ngnetboy/p/2424185.html
Copyright © 2011-2022 走看看