MySQL总结

1.数值类型:如果没有指定 unsigned,就是有符号;如果指定 unsigned,就是有符号。

 CREATE TABLE t03(
    id TINYINT);
CREATE TABLE t04(
    id TINYINT UNSIGNED);
INSERT INTO t03 VALUES (-128);
SELECT  * FROM t03
INSERT INTO t04 VALUES(255);
SELECT * FROM t04

2.bit 字段显示时,按照位的方式显示。0~255  查询时可以按照数来查询。CREATE TABLE t05(num BIT(8));
INSERT INTO t05 VALUES(1);
SELECT * FROM t05;
SELECT * FROM t05 WHERE num=1;

3.float 单精度浮点的数值 double 双精度浮点数值 decimal (M,D) 可以支持更加精确的小数位。M是小数位(精度)的总数,D是小数点(标度)后面的数。如果D是0,则值没有小数点或分数部分。M最大65,D最大30。如果D被省略默认是0,如果M被省略,默认是10。

CREATE TABLE t06(
    num1 FLOAT,
    num2 DOUBLE,
    num3 DECIMAL(30,20));
INSERT INTO t06 VALUES (88.12345678912345,88.12345678912345,88.12345678912345);
SELECT * FROM  t06;
CREATE TABLE t07 (
    num DECIMAL(65));
INSERT INTO t07 VALUES(89999999333383883883838380834831231588433);
SELECT * FROM t07;
CREATE TABLE t08(
    num BIGINT UNSIGNED)
INSERT INTO t08 VALUES (89999999333383883883838380834831231588433);
SELECT * FROM t08;

3.char(size) 固定长度字符串 最大255字符。varchar(size) 0~65535 可变长度字符串 最大65532字节(utf8编码最大21844字符 1-3个字节用于记录大小)。表的编码是utf8:varvhar(size) size = (65535-3) / 3 = 21844  表的编码gbk:varvhar(size) size = (65535-3) / 2 = 32766   char() 是定长(固定的大小),varchar() 是变长。在存放文本时,可以使用text数据类型,text不能有默认值,大小0~2^16字节。如果希望存放存放更多字符,可以使用mediumtext 0~2^24 或者 longtext 0~2^32。

CREATE TABLE t09(
    `name` CHAR(255));
CREATE TABLE t10(
    `name` VARCHAR(21844));
CREATE TABLE t11(
    `name` VARCHAR(32766)) CHARSET gbk;

CREATE TABLE t12(
    `name` CHAR(4));
INSERT INTO t12 VALUES ('abcd');
SELECT * FROM t12;
CREATE TABLE t13(
    `name` VARCHAR(4));
INSERT INTO t13 VALUES('数据库好');
INSERT INTO t13 VALUES('a数据库');
SELECT * FROM t13;
CREATE TABLE t14(
    content TEXT,
    content2 MEDIUMTEXT,
    content3 LONGTEXT);
INSERT INTO t14 VALUES('你好数据库','你好,数据库','你好啊,数据库');
SELECT * FROM t14;

4.表示时间值的日期和时间类型为date、datetime、timestmp、time和year。timestamp在insert和update时,自动更新。CREATE TABLE t15(
    birthday DATE,
    job_time DATETIME,
    login_time TIMESTAMP
    NOT NULL DEFAULT CURRENT_TIMESTAMP
    ON UPDATE CURRENT_TIMESTAMP);
INSERT INTO t15(birthday,job_time) VALUES('2021-1-1','2021-1-1 10:10:10');
SELECT * FROM t15;

5.添加列:ALTER TABLE 表名 ADD      修改列:ALTER TABLE 表名 MODIFY     删除列:ALTER TABLE 表名 DROP      修改表名:RENAME TABLE 表名 TO 新表名        修改表字符集:ALTER TABLE 表名CHARACTER SET 字符集      列名修改:ALTER TABLE 表名 CHANGE 列名   新列名        查看表的结构:DESC 表名

ALTER TABLE emp 
    ADD image VARCHAR(32) NOT NULL DEFAULT '' 
    AFTER RESUME
DESC emp  
ALTER TABLE emp
    MODIFY job VARCHAR(60) NOT NULL DEFAULT ''
ALTER TABLE emp
    DROP sex
RENAME TABLE emploee TO employee
DESC employee 
ALTER TABLE employee CHARACTER SET utf8
ALTER TABLE employee 
    CHANGE `name` `user_name` VARCHAR(64) NOT NULL DEFAULT ''
DESC employee

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值