文章目录
MySQL—表的创建、修改、删除
创建、查看、删除数据库
- 创建数据库
CREATE DATABASE IF NOT EXISTS db_name;
SHOW DATABASES;
- 显示数据库创建语句
SHOW CREATE DATABASE db_name;
- 数据库删除语句
DROP DATABASE IF EXISTS db_name;
- 切换数据库
use db_name;
- 查看当前使用的数据库
select database();
- 修改数据库名
MySQL不允许修改数据库名!
数据在数据库中的存储方式
1.Java是使用对象封装数据,例如程序产生了如上所示2个user对象,这些对象的数据要想保存到数据库中,需要在数据库中创建与之对应的表,一个user对象中封装的数据,要保存到数据库中,一般就要在数据库中创建一个与之对应的表。
2.对象的属性定义为表头,对象的数据对应于表中的一条记录。
3.每个对象对应于表中的一条记录。
所谓创建表,其实我们在声明定义列,也叫字段。定义完成之后直接往表中插入数据即可。
- 表的一行称之为一条记录
- 表中一条记录对应一个java对象的数据
MySQL支持所有标准SQL数值数据类型
日期时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
字符串类型 主要是:varchar 和 char
创建表
- IF NOT EXISTS 判断表是否存在
- 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据表时如果输入该字段的数据为NULL ,就会报错
- AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1
- PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔
- ENGINE 设置存储引擎,CHARSET 设置编码
- DEFAULT 设置字段的默认值
- COMMENT 对表或表的字段添加注释
创建student表
create table if not exists student(
id int(10) not null AUTO_INCREMENT comment '学号'
,name varchar(10) not null comment '姓名'
,sex varchar(3) not null comment '性别'
,clazz varchar(8) comment '班级'
,primary key(id)
)engine=InnoDB default charset=utf8;
查看表结构
desc student;
查看建表语句
show create table student;
INSERT语句
-
使用 INSERT 语句向表中插入数据
INSERT INTO table [(column [, column...])] VALUES (value [, value...]);
-
插入的数据应与字段的数据类型相同
-
数据的大小应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中
-
在values中列出的数据位置必须与被加入的列的排列位置相对应
-
字符和日期型数据应包含在单引号中
-
插入空值:不指定或insert into table value(null)
插入一条数据
insert into student(id,name,sex,clazz) values(20221401,'张三','男','十四班');
插入多条数据
insert into student(id,name,sex,clazz)
values(20221402,'李四','女','十四班')
,(20221403,'王二','男','十四班');
alter语句
插入列
alter table student add date varchar(10) default '日期';
修改表的名称
修改表的名称:rename table 旧表名 to 新表名;
rename table student to students;
修改表字段名
修改列的名称:alter table 表名 change 旧字段 新字段 字段类型;
alter table students change sex gender varchar(3);
删除列
alter table 表名 drop 字段名;
alter table students drop date;
修改表结构
alter table students modify id varchar(10);
修改表字符集
alter table students character set gbk;
修改库字符集
alter database db_name character set gbk;
将表删除并重新创建(不可逆)
删除表并重新创建,此操作会造成数据的丢失,不可逆操作
truncate table students;
update语句
使用update语句修改表中数据
- UPDATE语法可以用新值更新原有表行中的各列
- SET子句指示要修改哪些列和要给予哪些值
- WHERE子句指定应更新哪些行。注意:如没有WHERE子句,则更新所有的行
update students set age=age+2 where id<=3;
使用该语句需要加上条件,不然会将你所有数据都更新。
delete语句
- 如果不使用where子句,将删除表中所有数据
- Delete语句不能删除某一列的值(可使用update)
- 使用delete语句仅删除记录,不删除表本身。如要删除表,使用drop table语句
- 删除表中的所有数据也可使用TRUNCATE TABLE 语句
delete from student where sex='男';
💝到底啦!给靓仔一个关注吧!💖