1.创建表
表名在数据库中一般建议以:t_或者tbl_开始
建表语句语法格式:
creat table 表名(
字段名1 数据类型,
字段名2 数据类型,
……
);
MySQL中字段的常见数据类型:
int:整数类型
bigint:长整型(java中的long)
float:浮点型(java中的float、double)
char:定长字符串
varchar:可变长字符串
date:日期类型(java中的java.sql.Date类型)
BLOB:二进制大对象(村粗图片、视频等流媒体信息)Binary Large OBject
CLOB:字符大对象(存储较大文本,如:可以存储4G的字符串)Charcter Large OBject
……
char和varchar如何选择:
在实际开发中,当某个字段中的数据长度不发生改变的时候,是定长的,如:性别、生日都采用char
当一个字段的数据长度不确定,如:简介、姓名等都是采用varchar
案例:创建学生表
学生信息包括:学号、姓名、性别、班级编号、生日
学号: bigint
姓名: varchar
性别: char
班级编号:
生日: char
create table t_student(
no bigint,
name varchar(255),
sex char(1),
classno int,
birth char(10)
);
2.insert语句插入数据
语法格式:
insert into 表名(字段名1,字段名2……)values(值1,值2,……)
注:
字段的数量和值的数量相同,并且数据类型要对应相同
案例:插入数据
mysql> insert into t_student(no,name,sex,classno,birth)values(1,'zhangsan','1',1,'2021-10-19');
mysql> insert into t_student(name,no,sex,classno,birth)values('lisi',2,'1',1,'2021-10-19');
mysql> insert into t_student values(1,'wangwu','1',01,'2021-10-19');
注:
字段可以省略不写,但是后面的value对数量和顺序都有要求
mysql> insert into t_student(name,no,sex,classno,birth)values //一次插入多行数据
('lisi',2,'1',1,'2021-10-19'),
('zhaoliu',3,'0',1,'2021-10-19');
3.表的复制以及批量插入
表的复制:
语法:
create table 表名 as select语句; //将查询结果当作表创建出来
案例:
mysql> create table emp1 as select *from emp;
mysql> create table emp2 as select empno,ename from emp;
将查询结果插入到一张表中:
mysql> insert into dept1 select *from dept;
4.修改表中数据:update
语法格式:
update 表名 set 字段名1=值1,字段名2=值2…… where 条件;
注:
没有条件时,整张表数据全部更新
案例:将部门10的LOC修改为shanghai,将部门名称修改为renshibu
mysql> update dept1 set loc='shanghai',dname='renshibu' where deptno=10;
5.删除数据
语法格式:
delete from 表名 where条件;
注:
没有条件时,整张表数据全部删除
案例:删除10部门数据
delete from dept1 where deptno=10;
案例:删除所有数据
delete from dept1;
怎么删除大表中的数据(重点)?
truncate table emp1; //表被截断,不可回滚,永久丢失
6.对表结构的修改
对于表结构的修改,使用工具完成即可,因为在实际开发中表一旦设计好之后,
对表结构的修改是很少的,修改表结构就是对之前的设计进行了否定,即使需要修改表结构,
也可以直接使用工具操作。
修改表结构的语句不会出现在java代码中,出现在java代码中的sql包括:
insert、delete、update、select(这些都是表中的数据操作)
增删改查有一个术语:CRUD操作(create 增、retrieve 检索、update 改、delete 删)