四、表的操作

MySQL学习

四、表的操作

1. 创建表
1.1 建表语句语法格式:
create table 表名(

			字段名1 数据类型,

			字段名2 数据类型,

			.....

				);
1.2 MySQL中字段的数据类型(常见)

int :整数型(Java中的int)

bigint:长整型(Java中的long)

float: 浮点型(Java中的float和double)

char: 定长字符串(Java中的String)char(长度★)

varchar:可变长字符串(最多255个字符,Java中的StringBuffer/StringBuilder)varchar(255)

date:日期类型(存储日期,对应Java中的java.sql.Date类型)

BLOB: 二进制大对象(存储图片、视频等流媒体信息。binary large object,Java中的Object)

CLOB:字符大对象(存储较大文本,比如,可以存储4G的字符串。character large object,Java中的Object)

1.3 char和varchar的选择

​ 在实际的开发中,当某个字段中的数据长度不发生改变的时候,是定长的,例如:性别、生日等都是采用char。当一个字段的数据长度不确定,例如:简介、姓名等都是采用varchar。

1.4 BLOB和CLOB类型的使用

​ 电影表: t_movie

​ id (int) name (varchar) playtime(date/char) poster(BLOB) history(CLOB)

​ 表名在数据库当中一般建议以:t_ 或者tbl_ 开始。

1.5 创建一张表

​ 创建学生表,学生信息包括:学号(bigint),姓名(varchar),性别(char),班级编号(int),生日(char)

create table t_student(
	   no bigint,
   	name varchar(255),
   	sex char(1) , 
    	classno int,
    	birthday char(10)

	);	

2. insert语句插入数据
语法格式:

		insert into 表名(字段名1,字段名2,字段名3,....) values(值1,值2,值3,.....)

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

​ insert into t_student

​ (no,name,sex,classno,birthday)

​ values

​ (1,‘zhangsan’,‘1’,‘11’,‘1950-10-12’);

// 当这个表存在的话,删除。
drop table if exists t_student;
create table t_student(
	   no bigint,
   	name varchar(255),
   	sex char(1) default 1, // 默认是1
    	classno int,
    	birthday char(10)

	);	

​ 需要注意的地方:当一条insert语句执行成功之后,表格当中必然会多一行记录。即使多的这一行记录当中某些字段是NULL,后期也没有办法再执行insert插入数据了,只能使用update进行更新。

​ insert插入时列名是可以省略的,只要值能与默认的列名对应上。(字段可以省略不写,但是后面的value对数量和顺序都有要求)

​ 一次插入多行数据:insert into t_student (no,name,sex,classno,birthday) values(…),(…);// values后面的括号用逗号隔开即可


3. 表的复制
语法:
		//将查询结果当作表创建出来
		create table 表名 as select语句;  

4. 将查询结果插入到一张表中
 // 把dep表的查询结果插入到dept1表中
insert into dept1 select * from dept;

5. 修改表的数据:update
语法格式:

				update 表名 set 字段名1=值1,字段名2=值2,... where 条件;

​ 注意:没有条件整张表数据全部更新。

​ 案例:将部门10的LOC修改为SHANGHAI:update dept set LOC = ‘SHANGHAI’, dname = ‘RENSHIBU’ where deptno = 10;

update dept set LOC = 'NEW YORK' where deptno = 10;

6. 删除表的数据:delete
6.1语法格式:
delete from 表名 where 条件;

​ 注意:没有条件整张表数据全部删除。

6.2删除大表(重点)
	// 表被截断,不可回滚。永久丢失。
	truncate table 表名;

▲DQL(select) 对数据的查询

​ DML(insert,delete,update) 对数据的操作 DDL(create,drop,alter)对表结构的

6.3 删除表
drop table 表名;

		或 

drop table if exists 表名 ; // Oracle不支持这种写法

7. 对表结构的修改

​ 用navicate可视化工具(实际开发中,表一旦设计好之后,对表结构修改时很少的,修改表结构就是对之前的设计进行了否定。修改表结构的语句不会出现在Java代码中。出现在Java中的SQL 包括:增删改查 insert delete update select这些都是对表中的数据进行操作。)

​ 增删改查有一个术语:CRUD操作

​ Create(增) Retrieve(检索) Update(修改) Delete(删除)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值