数据结构造神计划第四天---表的操作

     🔥个人主页:寻星探路

🎬作者简介:Java研发方向学习者

📖个人专栏:《从青铜到王者,就差这讲数据结构!!!》、 《JAVA(SE)----如此简单!!!》、《数据库那些事!!!》

⭐️人生格言:没有人生来就会编程,但我生来倔强!!!



目录

一、查看所有表

1、语法

二、创建表

1、语法

2、示例

3、创建数据加时使用校验语句[if  not  exists]

三、查看表

1、语法

2、示例

四、修改表

1、语法

2、示例

2.1向表中添加⼀列

2.2修改某列的长度

2.3重命名某列

2.4删除某个字段

2.5修改表名

五、删除表

1、语法

2、示例

六、练习


        关于数据库的核心操作,都是围绕表展开的~~

一、查看所有表

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:排序规则,不指定则使用默认排序规则

        详细的创建表语法参考官⽅⽹站:

MySQL :: MySQL 8.0 Reference Manual :: 15.1.20 CREATE TABLE Statementhttps://dev.mysql.com/doc/refman/8.0/en/create-table.html

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:重命名当前的表

        详细的创建表语法参考官⽅⽹站:

https://dev.mysql.com/doc/refman/8.0/en/alter-table.htmlhttps://dev.mysql.com/doc/refman/8.0/en/alter-table.html

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;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值