首页 > 其他分享 >Mysq学习(字符串类型、日期类型)

Mysq学习(字符串类型、日期类型)

时间:2022-11-09 23:44:10浏览次数:40  
标签:字符 varchar 字节 -- Mysq name 字符串 类型 size

一、字符串类型的基本使用其细节

utf 8编码格式:三个字节表示一个字符;ctf8 varchar(size) size =(65535-3)/3=21844;

gbk编码格式:两个字节表示一个字符;gbk varchar(size) size =(65535-3)/2=32766;

格式:

先创建表:create table 表名(列名1 列格式1,列名2 列格式2,列名n 列格式n );

给表中插入相应的数据:

insert into 表名(列名1,列名2,列名3,......列名n) values(依据列名对应的列格式赋值);

查询表:

select * from 表名;

  • char(x)和varchar(x) 这两种字符串类型后面的x值,代表的是字符个数,不是字节数,具体的占用空间取决于所用的编码格式,不管是中文还是英文最多都是存放x个字符数;

  • char(x)这个数据是定长的,也就是大小由x的值决定,而不是插入的具体值,x的值最大为255;

  • varchar(x)数据是可变长,x只是最大值,而具体占用大小是由插入的数值决定,而不是由x来决定,注意:在使用varchar(x)时,本身有1到3个字节被用来存放内容长度;

  • 查询速度:char>varchar

  • 如果varchar不够用,存放文本时,可以考虑使用text(0-2^16字节)、mediumtext(0-2^24字节)、longtext(0-2^32)

二、日期类型的基本使用

时间戳:timestamp not null default current_timestamp no update current_timestamp 表示时间戳不为空,同时在插入数据的参数列表中,不填写也可以获取当前的日期和时间;

mysql中 注释的快捷键:ctrl+shift +C     取消注释的快捷键:ctrl+shift +R;

 

-- 一、字符串类型的基本使用
--     (1)CHAR(size)固定长度字符串最大255字符
--     (2)varchar(size)可変长度字符串最大65532字节;
--         utf 8编码最大21844字符(1-3)1-3个字节用于记录大小
--         utf 8编码:三个字节表示一个字符:utf 8 varchar(size) size =(65535-3)/3 =21844
--         gbk编码:两个字节表示一个字符: gbk varchar(size) size = (65535-3)/2 = 32766

CREATE TABLE  t08(
    `name` CHAR(255));
    SELECT  * FROM t08;
    
CREATE TABLE t09(
    `name` VARCHAR(32767))  CHARSET  utf8;##utf8编码大小最大为21844,CHARSET为编码格式
    
CREATE TABLE t10(
    `name` VARCHAR (32766)) CHARSET gbk;   ##gbk编码大小最大为32766
    
-- 注释的快捷键:ctrl+shift+c   取消注释:ctrl+shift+r    



-- 二、字符串类型使用的注意细节
--     (一)char(4)  和varchar(4) 这个4表示字符个数,不是字节个数,至于多大取决于编码格式,char后面的数字最大可以取255,不管是中文还是字母都是按照字符数进行计算
--     (二)char(4)是定长(固定的大小),这里是4位,即使插入的值不够4个字符,也会占用分配的4个字符
--             varchar(4)是变长的,空间大小是根据插入的实际字符数所决定,而不是这里的4个字符数;注意:使用varchar是本身需要预留1-3个字节来记录存放内容长度
-- 查询速度:char>varchar
    CREATE TABLE t11(
        `name` VARCHAR(5));#表示为5个字符数,空间大小取决于实际锁插入的字符数
        -- drop  table t11;
        INSERT t11 VALUE('china');
    SELECT *FROM t11;
    
--     如果varchar不够用,可以考虑使用mediumtext 或者longtext,或者直接用text

CREATE TABLE  t12(content TEXT,content1 MEDIUMTEXT,content3 LONGTEXT);
    INSERT t12 VALUES('教育技术学','计算机科学与应用技术','互联网工程技术于大数据');
    SELECT * FROM t12;
    
-- 三、日期类型的基本使用
        
    CREATE TABLE  t13(
            `name` VARCHAR(5),
            birthday DATE,
            age INT,
            job_time  DATETIME,
            login_time  TIMESTAMP #TIMESTAMP (时间戳)可以进行自动更新当前的日期和时间
                            NOT NULL DEFAULT CURRENT_TIMESTAMP
                            ON UPDATE CURRENT_TIMESTAMP);
            #drop table t13;
    SELECT *FROM  t13;
    INSERT INTO t13 (`name`,birthday,age,job_time)#这里虽然没有加上login_time 这个参数,但是在执行下面语句时候,会自动更新当前日期和时间
                VALUES ('李四','1994-1-1','25','2020-11-11 10:10:10');
    
    
    
-- 创建一个员工表emp,适当选用合适的数据类型
CREATE TABLE emp(
                id INT,
                `name` VARCHAR(4),
                sex CHAR(2),
                birthday DATE,
                entry_date DATE,
                job CHAR(4),
                salary DOUBLE,
                `resume` LONGTEXT);
                
--     添加一条数据            
INSERT    INTO emp(id,`name`,sex,birthday,entry_date,job,salary,`resume`)
                VALUES('001','张三','男','1994-11-11','2020-5-15','程序员',
                '15600.00',
                '主要负责程序的开发与运行和维护,按时完成公司交给的业务');
-- 查找表
SELECT *FROM emp;

 

标签:字符,varchar,字节,--,Mysq,name,字符串,类型,size
From: https://www.cnblogs.com/nzm-2019/p/16875609.html

相关文章