🔥个人主页:寻星探路
🎬作者简介:Java研发方向学习者
📖个人专栏:《从青铜到王者,就差这讲数据结构!!!》、 《JAVA(SE)----如此简单!!!》、《数据库那些事!!!》
⭐️人生格言:没有人生来就会编程,但我生来倔强!!!
目录
关于数据库的核心操作,都是围绕表展开的~~
一、查看所有表
1、语法
show tables;
二、创建表
1、语法
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
field datatype [约束] [comment '注解内容']
[, field datatype [约束] [comment '注解内容']] ... )
[engine 存储引擎] [character set 字符集] [collate 排序规则];
TEMPORARY:表示创建的是⼀个临时表
field:列名
datatype:数据类型
comment:对列的描述或说明
engine:存储引擎,不指定则使用默认存储引擎
characterset:字符集,不指定则使用默认字符集
collate:排序规则,不指定则使用默认排序规则
详细的创建表语法参考官⽅⽹站:
2、示例
创建⼀个用户表,其中包含用户编号、用户名、密码、生日,并指定字符集为utf8mb4,排序规则为utf8mb4_0900_ai_ci
create table users (
id bigint,
name varchar(20) comment '⽤⼾名',
password char(32) comment '密码是32位的md5值',
birthday date comment '⽣⽇'
) CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
Query OK, 0 rows affected (0.01 sec)
创建⼀个表并指定存储引擎为MyISAM
create table t_myisam (
id bigint,
name varchar(20) comment '⽤⼾名'
) engine = MyISAM;
Query OK, 0 rows affected (0.01 sec)
3、创建数据加时使用校验语句[if not exists]
create table if not exists users (
id int,
name varchar(20)
)
if not exists==>没有才会创建
三、查看表
1、语法
desc 表名;
2、示例
desc users;
Field:表中的列名
Type:列的数据类型
Null:该列的值是否允许为Null
Key:该列的索引类型
Default:该列的默认值
Extra:扩展信息
四、修改表
在项目的实际开发中,随着版本的迭代和需求的变更,经常会对表结构进行调整,比如向现有表中添加列,删除列,或者修改某列的列名、数据类型或长度,这时就需要对表进行修改操作。
1、语法
ALTER TABLE tbl_name [alter_option [, alter_option] ...];
alter_option: {
table_options
| ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]
| MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| RENAME COLUMN old_col_name TO new_col_name
| RENAME [TO | AS] new_tbl_name
tbl_name:要修改的表名
ADD:向表中添加列
MODIFY:修改表中现有的列
DROP:删除表中现有的列
RENAMECOLUMN:重命名表中现有的列
RENAME[TO|AS]new_tbl_name:重命名当前的表
详细的创建表语法参考官⽅⽹站:
2、示例
2.1向表中添加⼀列
alter table users ADD assets varchar( 100 ) comment '头像地址' after birthday;
2.2修改某列的长度
alter table users MODIFY assets varchar(255);
2.3重命名某列
alter table users RENAME COLUMN assets TO avatar;
2.4删除某个字段
alter table users DROP avatar;
2.5修改表名
alter table users RENAME TO employee;
也可以使用 RENAME TABLE old_table TO new_table; 为表重命名
五、删除表
1、语法
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
TEMPORARY:表示临时表
tbl_name:将要删除的表名
2、示例
# 删除employee表
drop table employee;
# 删除t_myisam表
drop table t_myisam;
# 查看所有表
show tables;
#注:
(1)删除表是⼀个危险操作,执行删除语句时⼀定要谨慎
(2)删除表成功后,磁盘上对应的数据⽂件也会被删除
(3)⼀次可以删除多个表,表与表之间用逗号隔开
六、练习
创建⼀个store数据库,用来管理商店的商品、顾客和订单数据,这个数据库有以下三个表组成:
商品表:表名为goods,表中包含的列如下:
客户表:表名为customer,表中包含的列如下:
购买记录表:表名为purchase,表中包含的列如下:
create database store;
create table goods(
id bigint comment '商品编号',
name varchar(50) comment '商品名',
unitprice decimal(12,2) comment '零售单价',
costprice decimal(12,2) comment '成本价',
category varchar(20) comment '商品类型',
procider varchar(50) comment '供应商')
create table customer(
id bigint comment '客户编号',
name varchar(20) comment '客户姓名',
gender bool comment '性别',
phone_num varchar(20) comment '电话号码',
email varchar(50) comment '电子邮件',
address varchar(255) comment '地址',
create_time datetime comment '注册时间')
create table purchase(
order_id varchar(32) comment '订单编号',
customer_id bigint comment '客户编号',
goods_id bigint comment '商品编号',
nums int comment '购买商品数量',
amount decimal(12,2) comment '总金额',
create_time datetime comment '订单生成时间')
show tables;
desc customer;
desc goods;
desc purchase;