数据库基础操作

在上一篇关于数据库的文章中提到了UTF-8,不设置的话就会出现乱码,那么现在就来说一说 计算机是如何存储字符的。

  1. 如何存储英文字符
    ASCII:对所有的英文字母及其符号进行了编码,总共有128个。

  2. Latin -1:对欧洲的字符进行了编码,兼容ASCll,总共有256个。

  3. 如何存储中文字符呢
    GB2312: 对常用的6千多汉字进行了编码,兼容ASCII
    GBK: 对2万多的汉字进行了编码,兼容GB2312
    BIG5: 台湾繁体字编码,兼容ASCII
    Unicode: 对世界上主流国家的常用语言进行了编码,不兼容GBK,BIG5…兼容ASCII,具体使用有3种存储方案utf-8 utf-16 utf-32
    mysql默认使用latin-1,不包含汉字,这就是出现乱码的原因。

列类型
 创建数据表的时候,指定的列所存储的数据类型
 create  table  t1(
   id  列类型
);

列类型分为哪几种

数值型

  • tinyint 微整型,占1个字节,范围-128~127
  • smallint 小整型,占2个字节,范围-32768~32767
  • int 整型,占4个字节,范围 -2147483648~2147483647
  • bigint 大整型,占8个字节.
  • float 单精度浮点型,占4个字节,范围比int大的多,精度会受到影响
  • double 双精度浮点型,占8个字节
  • decimal(M,D) 定点小数,小数点不会发生变化,占16个字节,M代表总的有效位数,D代表小数点后的有效位数.
  • boolean/bool 布尔型,用于存储只有两个值的数据,这两个值分别是true和false,在使用的时候自动转成了tinyint类型,true转为1,false转为0,也可以直接插入数值.
  • 如果要使用true或者false不能添加引号,因为属于关键字。

日期时间型–必须加引号

  • date 日期型 2020-12-25
  • time 时间型 15:43:30
  • datetime 日期时间型 2020-12-25 15:43:30

字符串型——必须加引号
varchar(M) 变长字符串,几乎不会产生空间浪费,操作速度相对慢,M的最大值65535,常用于存储变化长度的数据,例如标题,用户名,密码,详情等
char(M) 定长字符串,可能产生空间浪费,操作速度相对快,M的最大值255,常用于存储固定长度的数据,例如身份证号码,手机号码等
text(M) 大型变长字符串,M的最大值能达到2G

练习:使用合理的列类型,编写脚本文件02_xuezi.sql,先丢弃再创建数据库xuezi,设置编码为utf-8,进入数据库,创建保存商品数据的表laptop,包含有编号lid,标题title,价格price,库存量stockCount,上架时间shelfTime,是否为首页推荐商品isIndex,插入若干条数据。

//设置编码为utf-8
set names utf8;
//查看有没有xuezi数据库有的话将他丢弃
DROP DATABASE IF EXISTS xuezi;
//创建数据库学子 设置编码为utf8
CREATE DATABASE xuezi CHARSET= utf8;
//进入xuezi数据库
USE xuezi;
//创建表
CREATE TABLE laptop (
	lid int,
	title VARCHAR(30),
	price DECIMAL(7,2),
	stockcount SMALLINT,
	shelfTime DATETIME,
	islndex BOOLEAN
);
INSERT INTO laptop VALUES('31','小新Pro13高性能轻薄本 ','5399','500','2020-9-2 15:30:30',false);
INSERT INTO laptop VALUES('32','联想(Lenovo)','7999','200','2020-9-3 15:40:20',true);
INSERT INTO laptop VALUES('33','华为(Lenovo)','5000','200','2020-9-3 15:40:20',true);
SELECT * FROM laptop;


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值