MySQL创建表数据

一 ,字段特殊标识

PK:Primary Key  主键 唯一标识
NN:Not Null 值不允许为空
UQ:Unique 值唯一 索引
B: Binary 二进制数据(比text更大的二进制数据)
UN:Unsigned  无符号   整数(非负数)
ZF:Zero fill 自动填充0 例如字段内容是1 int(4), 则内容显示为0001 
AI:Auto increment 自增
G: Generated column 生成列

二 ,DataType  数据类型

整数浮点数类型
int 整数 4字节
float 浮点数 4字节
bigint 整数 8字节
double 浮点数 8字节

字符串类型
char(len)字符串    len长度范围 取0~~255的任意值
varchar(len)字符串  取0~65535之间的任意值

布尔类型
tinyint(1)布尔值

时间类型
year  年
data  年月日
time  时分秒
datatime 年月日时分秒

三,SQL语句

 查询数据
        select  *  from 表名称     查询所有数据
        select    列名称  from 表名称  查询列的数据   
        select    列名称,列名称  from 表名称  查询多个列的数据
    插入数据
        insert into  表名称  (列名称,列名称) values (值,值)
        注意插入值的是什么类型
    更新数据
        update 表名称 set 列名称 = 新值 where 列名称 =某值
        update 表名称 set 列名称 = 新值,列名称 = 新值 where  列名称 =某值
            更新多个数据
    删除数据
        update from 表名称  where 列名称 = 值

四,WHERE子句可用运算符

 =   !=    >  >=  <   <=    BETWEEN某个范围   LIKE搜索某种模式
    AND是 与&&       OR是或  ||

五,排序 ORDER BY

order by
默认升序  select * from users order by  id  asc  
降序         select * from users order by  id  desc
多重排序  select * from users order by  id  asc ,username desc

六,SQL的Count(*)函数

   select count(*) from 表名 where 条件
    用于统计查询结果的条数

七,如何选择数据类型

1 整数类型和浮点数类型

整数类型和浮点数类型最大的区别在于能否表达小数。整数类型不能表示小数,而浮点数类型可以表示小数。不同的整数类型的取值范围不同。tinyint类型的取值范围为0~255。如果字段的最大值不超过255,那选择tinyint类型就足够了。bigint类型的取值范围最大。最常用的整数类型是INT类型。

浮点数类型包括float类型和 double类型。double类型的精度比float类型高。如果需要精确到小数点后10位以上,就应该选择double类型,而不应该选择float类型。

2 浮点数类型和定点数类型

对于浮点数和定点数,当插入值的精度高于实际定义的精度时,系统会自动进行四舍五入处理。其目的是为了使该值的精度达到要求。浮点数进行四舍五入时系统不会报警,定点数会出现警告。

在未指定精度的情况下,浮点数和定点数有其默认的精度。float型和 double型默认会保存实际精度。这个精度与操作系统和硬件的精度有关。decimal型默认整数位为10,小数位为0,即默认为整数。

在 MySQL中,定点数精度比浮点数要高。而且,浮点数会出现误差。如果要对数据的精度要求比较高,应该选择定点数。

3 char类型和varchar类型

char类型的长度是固定的,而varchar类型的长度是在范围内可变的。因此,varchar类型占用的空间比char类型小。而且,varchar类型比 char类型灵活。对于长度变化比较大的字符串类型,最好是选择varchar类型。

虽然CHAR类型占用的空间比较大,但是CHAR类型的处理速度比VARCHAR快。因此,对于长度变化不大和查询速度要求较高的字符串类型,最好选择CHAR类型。

4 时间和日期类型

year类型只表示年份。如果只需要记录年份,选择year类型可以节约空间。time类型只表示时间。如果只需要记录时间,选择time类型是最合适的。date类型只表示日期。如果只需要记录日期,选择date类型是最合适的。

如果需要记录日期和时间,可以选择 datetime类型和 timestamp类型。datetime类型表示的时间范围比 timestamp类型大。因此,若需要的时间范围比较大,选择datetime类型比较合适。timestamp类型的时间是根据时区来显示的。如果需要显示的时间与时区对应,那就应该选择timestamp类型。

5 enum类型和set类型

enum类型最多可以有65535个成员,而set类型最多只能包含64个成员。两者的取值只能在成员列表中选取。enum类型只能从成员中选择一个,而set类型可以选择多个。

因此,对于多个值中选取一个的,可以选择ENUM类型。例如,“性别”字段就可以定义成ENUM类型,因为只能在“男”和“女”中选其中一个。对于可以选取多个值的字段,可以选择SET类型。例如,“爱好”字段就可以选择SET类型,因为可能有多种爱好。

6 text类型和blob类型

text类型与blob类型很类似。text类型存储只能存储字符数据。而blob类型可以用于存储二进制数据。如果要存储文章等纯文本的数据,应该选择text类型。如果需要存储图片等二进制的数据,应该选择blob类型。

text类型包括tinytext、text、mediumtext和 longtext。这4者最大的不同是内容的长度不同。tinytext类型允许的长度最小,longtext类型允许的长度最大。blob类型也是如此。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值