Skip to content

表的创建

建表语句:

sql
Create tables 表名(
	字段名1 数据类型,
	字段名2 数据类型 default 默认值,
	字段名3 数据类型,
。。。
);

关于MySQL当中字段的数据类型,(常用的):

类型描述
Char(长度)定长字符串,存储空间大小固定,适合作为主键或外键【最长255】
Varchar(长度)变长字符串,存储空间等于实际数据空间【最长255】
double(有效数字位数,小数位)数值型
Float(有效数字位数,小数位)数值型
Int( 长度)整型
bigint(长度)长整型【Java中Long】
Date日期型年月日
DateTime日期型年月日时分秒毫秒【对应Java中的java.sql.Date类型】
time日期型时分秒
BLOBBinary Large OBject(二进制大对象)【存储图片,视频流媒体信息】
CLOBCharacter Large OBject(字符大对象)【存储大文本,可存储4G的字符串】
其它…………………

char 和 varchar

char:

表示创建一个六个长度的字符空间,即使字符本身长度少于6,分配的空间依然是6;当长度超过指定的空间(6) 后,直接报错。

varchar:

也是创建一个长度是6的空间,长度超过指定长度依旧会进行报错,但是当长度小于指定时,varchar会自动分配长度【所以相对char效率较低】

当长度是固定的时,如:性别,生日(10位),日期(19位)。使用char效率更好;

当长度不固定时,如:自我介绍。可以使用varchar,可以提高存储效率。

BLOB数据不能直接进行传输,只能使用Java的io流进行传输,并且大文件一般放硬盘中,数据库中存储内存地址

表名在数据库中一般建议以:t__ 或者 tbl__ 开始。

插入数据

语法格式:

Insert into 表名(字段名1 ,字段名2 ,字段名3,。。。) values (值1 ,值2 ,值3,。。。)

要求:字段的数量和值的数量相同,并且数据类型要对应相同。

只指定一个数据其他不指定时,默认用NULL进行填充

一次插入多个数据:

Insert into 表名(字段名1 ,字段名2 ,字段名3,。。。) values

(值1 ,值2 ,值3,。。。),

(值1 ,值2 ,值3,。。。),

(值1 ,值2 ,值3,。。。);

插入一条数据:

img

注意:当一条insert语句执行成功后,表格中必然会多一条数据,不能再使用insert进行更改,即使这些数据中有些数据是NULL;后期只能使用update进行更新。

当不指定第一个() 中的内容时:第二个括号中的数据必须和表格中的数据配列顺序匹配,反之报错

img

插入日期

第一种方法,插入的日期格式和显示的日期格式一致

sql
insert  into emp(empno, ename, job, mgr, hiredate, sal, comm, deptno)  values(9997,'zhangsan','MANAGER', null, '1981-06-12',3000, 500, 10);

img

第二种方法,采用str_to_date

sql
insert into emp(empno, ename, job, mgr, hiredate, sal, comm, deptno) values(9996,'zhangsan','MANAGER',null,str_to_date('1981-06-12','%Y-%m-%d'),3000,  500, 10);

img

第三种方法,添加系统日期(now())

sql
insert  into emp(empno, ename, job, mgr, hiredate, sal, comm, deptno)  values(9995,'zhangsan','MANAGER',null,now() ,3000, 500, 10);

表的复制

sql
Create table 表名 as DQL语句

image-20250119175757600.png

本站除转载文章或特殊说明外,均遵循 CC BY-SA 4.0 协议发布。