Datawhale组队学习之MySQL-task2
1. MySQL表数据类型
---->数据类型定义了列可以存储哪些数据种类。
MySQL表中数据类型有:
1.1,数值类型:
MySQL中支持多种整型,其实很大程度上是相同的,只是存储值的大小范围不同而已。
tinyint:占用1个字节,相对于java中的byte
smallint:占用2个字节,相对于java中的short
int:占用4个字节,相对于java中的int
bigint:占用8个字节,相对于java中的long
其次是浮点类型即:float和double类型
float:4字节单精度浮点类型,相对于java中的float
double:8字节双精度浮点类型,相对于java中的double
1.2,字符串类型:
char(n) 定长字符串,最长255个字符。n表示字符数
varchar(n) 变长字符串,最长不超过 65535个字节,n表示字符数。
text,一般超过255个字节,会使用text类型。
1.3,日期类型:
date:年月日
time:时分秒
datetime:年月日 时分秒
timestamp:时间戳(实际存储的是一个时间毫秒值),与datetime存储日期格式相同。
2. 用SQL语句创建表
语句解释
设定列类型 、大小、约束
设定主键
---->create table uesr(
id int primary key,-- 列名id,数据类型为数值类型int;大小:占用4个字节;约束:主键约束
username varchar(50) unique,-- 列名username,数据类型为字符类型vatchar;大小:字符串长度最大50;约束:唯一约束
password varchar(50) not null – 列名password,数据类型为字符类型vatchar;大小:字符串长度最大50;约束:非空约束
);
3. 用SQL语句向表中添加数据
语句解释
多种添加方式(指定列名;不指定列名)
指定列名:insert into user(id,username,password) values(1,'吴奇隆','wql244');
不指定列名:insert into user values(2,'刘诗诗','lss276');
4. 用SQL语句删除表
语句解释
DELETE:
删除表记录:delete from stu where id=1;
DROP:
1,删除库:drop database if exits mydb1;
2,删除表:drop table if exits stu;
TRUNCATE:
删除表中所有记录: truncate table stu
不同方式的区别:
drop是用于删除库及删除表, 和删除表记录没有关系
delete和truncate都是用于删除表记录
delete和truncate删除表记录的区别:
(1)delete可以通过where进行筛选, 可以只删除符合条件, 但truncate是删除所有记录, 不能删除一部分.
(2)delete也可以删除所有记录, 但是对id的自增变量没有影响, 及时删除所有记录, 下次插入记录, id还会接着以前的id进行自增
但是truncate是先摧毁整张表, 再重新创建, id的自增变量也会从1开始!!
5. 用SQL语句修改表
修改表:修改表指的是修改数据库中已经存在的数据表