MYSQL的第二天

1.常用的SQL命令

(1)删除数据

  DELETE  FROM  user  WHERE  uid=’2’;

(2)修改数据

  UPDATE  user  SET  phone=’18500000000’,isOnliine=’y’ WHERE uid=’3’;

2.计算机如何存储字符

(1)如何存储英文字符
ASCII 总共有128个,对英文字母及其符号进行了编码
Latin-1 总共有256个,对欧洲字符进行了编码,兼容ASCII
(2)如何存储中文字符
GB2312 对常用的6千多汉字进行了编码,兼容ASCII
GBK 对两万多汉字进行了编码,兼容GB2312
BIG5 台湾繁体字编码,兼容ASCII
Unicode 对世界上主流国家的常用语言进行了编码,兼容ASCII,具体包含3种存储方案 UTF-8 UTF-16 UTF-32
(3)解决mysql中文乱码
Mysql默认使用Latin-1编码
解决:
脚本文件另存为的编码为UTF-8
客户端连接服务器端的编码为UTF-8 set names utf8;
服务器端创建数据库使用的编码为UTF-8

   create  database  xz  charset=utf8;

3.列类型

在创建数据表的时候,指定的列可以存储的数据类型

 CREATE  TABLE  n1(
   nid  列类型
);

(1)数值型——引号可加可不加
tinyint 微整型,占1个字节,范围-128~127

smallint 小整型,占2个字节,范围-32768~32767

int 整型,占4个字节,范围-2147483648~2147483647

bigint 大整型,占8个字节,范围很大

float 单精度浮点型,占4个字节,范围比int大得多,以牺牲小数点后的数字为代价,精度会受影响,最大值3.4E38

double 双精度浮点型,占8个字节,范围比bigint大的多,精度也会受到影响

decimal(M,D) 定点小数,小数点位置不会发生变化,占8个字节,M代表总的有效位数,D代表小数点后的有效位数

boolean/bool 布尔型,通常只有两个值,分别是true和false,往往存储只有两个值得数据,例如性别,是否在线… 在使用的时候会转为tinyint,true转为1,false转为0

true和false使用的时候是关键字,不能加引号
(2)日期时间型——必须加引号
date 日期型 2020-08-03
time 时间型 15:20:30
datetime 日期时间型 2020-08-03 15:20:30
(3)字符串型——必须加引号
varchar(M) 变长字符串,几乎不会产生空间浪费,数据操作速度相对慢,M最大值是65535,常用于存储长度变化的字符串,例如文章的标题,内容,一个人的姓名…
char(M) 定长字符串,可能产生空间浪费,数据操作速度比较快,M的最大值是255,存储长度固定的数据,例如一个人的电话号码,身份证号码…
text(M) 大型变长字符串,M的最大值是2G

	char(5)	varchar(5)
a	a\0\0\0\0	a\0
ab	ab\0\0\0	ab\0
abcde	abcde	abcde
一二三	一二三\0\0	一二三\0
  TB   GB   MB   KB   Byte(字节)  Bit(位)
  1024
  1Byte=8Bit
  2进制由1或者0组成
  1    2    3    4     5  
  1   10   11  100   101 
  浮点型
  123456.789E-1
  12345.6789
  1234.56789E1
  123.456789E2
  定点小数
  3.14

选择合理的列类型

  CREATE  TABLE  t1(
id  int,
age  tinyint,
phone  char(11),
sex  boolean,
price  decimal(7,2),   #99999.99
detail  varchar(5000),
ctime  date
);

4.列约束

mysql可以对要插入的数据进行特定的验证,只有满足条件才允许插入,否则认为是非法的插入,例如禁止插入重复的编号,性别只能是男或者女,工资只能是正数…
CREATE TABLE t1( lid INT 列约束 );
(1)主键约束——primary key
声明了主键约束的列上禁止插入重复的值,一个表中只能有一个主键约束,通常加在编号列,会加快数据的查找速度,查询时候会按照编号从小到大排序。
主键约束禁止插入NULL
NULL 表示空,在插入数据的时候,表示无法确定的值,例如无法确定一个商品的价格、是否为首页推荐…
NULL是关键字,不能加引号。
(2)非空约束——NOT NULL
声明了非空约束的列上禁止插入NULL

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值