-
char 适用于数长度不会发生改变的时候,是定长的,例如:性别,生日
-
varchar 当一个字段数据长度不确定,例如:简介、姓名、等都是采用varchar
char是直接开辟一定长度的空间,varchar是根据存储数据的长度动态的开辟空间!
测试案例
#创建表
CREATE TABLE user(
id INT(10),
username VARCHAR(30),
PASSWORD VARCHAR(30) #最后一行不需要,
);
[](()2.删除表:
drop table 表名;(通用)
drop table 表名 if exists 表名; //Oracle不支持这种写法。
使用drop删除表,就像是我们把表中的数据擦干净,但是表的结构还在,可以通过rollback回滚过来数据!
我们如果需要删除大表的话,就需要truncate 来删除,会清空所有数据且执行速度很快,并且永久删除,数据不可恢复!
truncate table name
删除表常用:
drop table if exist 表名(如果存在某个表删除该表)。
[](()3.修改表结构:
用工具:哈哈!设计表选项
(因为在实际开发中表设计好以后,对表结构进行修改是很少的。并且修改表中结构的语句并不会写在java语句当中。)
[](()4.insert:表中插入数据
语法:insert into 表名(字段1,字段2,字段3…)values(value1 , value2 , value3) ;
INSERT INTO dept(deptno,dname,loc)VALUES(50,‘Java开发’,‘ZHENGZHOU’);
需要注意的地方:当一条insert语句执行成功之后,表格必然会多一行记录,及时多的一行记录当中某些字段为null,后期也没办法再通过insert插入数据了,只能通过update更新 !
**一次插入多行数据:**insert into 表名(字段1,字段2,字段3)values(value1,value2,value3),(value1,value2,value3)
INSERT INTO dept(deptno,dname,loc)VALUES(70,‘大数据开发’,‘ZHENGZHOU’),(60,‘运维部’,‘KAIFENG’);
[](()5.表的复制
了解一下即可!
CREATE TABLE mytable AS SELECT * FROM dept #将将查询结果当作表创建出来。
将查询出来的结果插入道一张表中
INSERT INTO mytable SELECT * FROM dept
[](()6.update:修改表中数据
语法格式:update 表名 set 字段名1 = 值1 ,字段名2 = 值2 …where 条件 ;
注意:没有条件整张表的数据全部更新 ;
UPDATE dept SET dname = ‘测试开发’ ,loc = ‘HUEL’ WHERE DEPTNO = 10 ; #就1个set!
[](()7.delete删除表中数据;
语法格式:delete from 表名 where 条件 ;
注意:没有条件表中数据全部清空!
DELETE FROM dept WHERE deptno = 70 #删除部门号为70的数据
DELETE FROM dept #清空表中数据
[](()8.增删改查有一个术语:CRUD操作
-
Create(增加)
-
Retrieve(查询)
-
Update(修改)
-
Delete(删除)
[](()四.约束
创建表的时候可以给字段添加相应的约束,约束的目的:保证表中数据的合法性,唯一性,有效性。
-
非空约束(not null):约束字段不能为NULL
-
唯一约束(unique):约束字段不能重复
-
主键约束(primary key):约束字段既不能为NULL也不能重复
-
外键约束(foreign key):阿里巴巴手册,已经禁止使用外键了
-
检查f约束(check):Oracle数据库有check约束,但是Mysql没有。
注意:我们主要还是记住英文,平时使用的都是英文!
[](()1.非空约束 not null
CREATE TABLE mytable(
id INT(10),
username VARCHAR(30) NOT NULL, #添加非空约束
PASSWORD VARCHAR(30)
);
测试
insert into mytable(id,password) values(1,‘123’) ; #由于我们的的用户字段要求非空,所以会执行失败
ERROR 1364(HY000) : Filed ‘username’ doesn’t have a default value
[](()2.唯一约束(unique)
列级约束
表级约束
测试
[](()3.主键约束(primary key) *
必须记住:一张表的主键约束只有一个 ;最好与别的字段不相关,仅仅代表唯一标识 !
CREAT