本文是Mysql学习笔记系列的第二篇,分享的是数据操作与数据类型的相关知识点。
三、数据操作
1、插入数据
insert into 表名 (字段1, 字段2, 字段3, ...) values(字段1的内容, 字段2的内容, 字段3的内容, ...); 字段内容和字段需要一一对应
insert into 表名 values(字段1的内容, 字段2的内容, 字段3的内容, ...); 字段内容的顺序需要和desc 表名;所显示字段的顺序一致
字段内容不填或为空时要填NULL来占位,有自增特征的字段内容填写NULL会自己按顺序增加。
select * from 表名; 查看某个表里所有的内容
insert into 表名 values(字段1的内容, 字段2的内容, 字段3的内容, ...),(字段1的内容, 字段2的内容, 字段3的内容, ...),(字段1的内容, 字段2的内容, 字段3的内容, ...),...; 一次性插入多条语句
2、删除数据
delete from 表名 where 任一字段=要删除的该字段的值(也可以按照范围一次性删除多条数据,字段>某一值,例如:age>30);
3、清空表
delete from 表名; (不建议,相当于是用循环去遍历表一条一条删除,所以速度慢)而且只是删除数据,并未清空表
truncate table 表名; 清空表(将要删除的表作废,创建一个新的拥有一样字段一样特征的空表)
4、更新数据
update 表名 set 要修改的字段=新的值 where 任一字段=该字段的值;
5、查询表数据
select 要查询的字段1,要查询的字段2,要查询的字段3,... from 表名; 查看某个表里指定字段的内容
select * from 表名; 查看某个表里所有的内容
6、SQL语句区分
DDL date definition language 数据库定义语言(针对数据库和表的) create,drop,alter,show(desc)
DML date manipulation language 数据库操纵语言(针对数据的) insert,delete,update,select
DCL date control language 数据库控制语言(管理数据库的用户,设置用户权限)
7、字符集编码问题
show variables like 'character_set_%'; 查看字符编码格式设置情况
set variable_name=字符编码格式; 设置variable_name的字符编码格式
一般情况下character_set_client和character_set_results设置为gbk就能显示中文
四、数据类型
各种数据类型使用的时候并没有统一的规范,我们要基于项目和实际去选择。
使用时并没有统一的标准,要基于项目和实际去选择
1、int数值类型
定义无符号的类型时要在上图中的类型后加unsigned
2、浮点数
定义无符号的类型时要在上图中的类型后加unsigned
eg:
create table test (num_1 float(4,1),double(6,2));
创建一个test的表,num_1字段共四位数,整数部分不得超过三位数,保留一位小数和num_2字段共六位数,整数部分不得超过四位数,保留两位小数
使用浮点数时要小心精度丢失的问题!!!
3、定点数
不会丢失精度
4、字符串与文本类型
5、布尔类型
某字段 boolean
6、枚举类型
只能从给定的多个选项中选一个填入(单选)
某字段 enum('选项1','选项2','选项3,'选项4',...)
insert时,有两种方式,可以填给定的值,也可以填对应的整数(1,2,3,4,...)代替
7、set类型
能从给定的多个选项中选多个填入(多选)
某字段 set('选项1','选项2','选项3,'选项4',...)
insert时,有两种方式,可以填给定的值,也可以填对应的整数(set类型对应的整数是2的自然数次幂,即:1,2,4,8,16,32,...)代替
8、时间日期类型