学习mysql第三天

今天是学习mysql的第三天

数据插入  insert into

insert into test (id,name) values(1,'张三');            \\正常方式插入数据

insert into test set id=2,name='lishi';           \\set方式插入数据

insert into test(id,name) select id,names from test2;           \\查询结果集插入数据  查询的结果集字段名可以和表字段名不一样但是字段类型和数量要一一对应。


替换数据   replace into

和insert into一样 有三种插入方式    正常、set 、查询结果集插入

replace into test (id,name) values(4,'张三');

replace into test set id=5,name='lishi';

replace into test(id,name) select id,names from test2;

replace into test(id,name) values(1,'王武');     \\当插入数据时 id=1的数据已经有了 就会先删除掉id等于一的数据然后在插入

replace into test(id,name) values(4,'赵');        \\当插入的数据与已有的数据不冲突就直接插入数据

\\  当插入数据时如果有主键或唯一索引  

\\  就会先检查插入的数据与已有的数据是否冲突 

\\  如果冲突就把冲突的数据删除 然后插入新的数据

\\  如果既有主键又有唯一索引 可能会与多条数据产生冲突  会删除多条有冲突的数据


修改数据

update test set name='秦' where id>2 order by id asc limit 2;    \\可以使用 order by  和 limit   

删除数据

delete from test where id>2 order by id asc limit 2;   \\delete 同样可以使用 order by  和 limit  

快速删除所有数据

truncate test;         \\效果和 delete from test; 效果差不多

工作方式:记录表结构-》删除表 -》重新建一个新表    

特点: 速度快  自增字段计数回复初值    不返回收影响的行数


字符集

show variables like 'character_set%';  \\查看关于字符集的变量

character_set_client                  \\客户端使用的字符集编码
character_set_connection        \\连接数据库使用的字符集编码
character_set_results               \\返回结构使用的字符集编码

当这三个变量的值 和 客户端使用的字符集编码一致时 就不会存在乱码的问题了

set character_set_client=gbk;

set character_set_connection=gbk;     //设置使用编码为gbk

set character_set_results=gbk;

set names gbk;  \\快速设置三个变量的值为gbk

php连接mysql时  设置的值与php文件保存时的编码一致就不会出现乱码


列类型


char(L)   \\定长字符串

L表示字符数 (不是字节数)   如果L等于一  可以插入 一个数字或字母 也可以插入一个汉字

char 最大可以保持255个字节(不是字符数)的数据 


varchar(L)   \\可变长度字符串

和char一样 L代表字符数

varchar 最大可以保持65535个字节的数据。


数据库设计三范式

第一范式  字段的原子性   就是表中的每个字段不可重复不可分割

第二范式 消除部分依赖    就是找到可以确定每条记录的唯一标识

第三范式 消除传递依赖    就是将一类实体放入一张表中



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值