MySQL中表操作

创建表

语法:

示例:创建一个名字为student的学生表,表中包含两个字段,id表示编号,name表示名字,长度为50

sql 复制代码
create table student (
	id bigint,
    name varchar(50)
);

复制表结构

根据已有表(student)的结构,创建一个一模一样的新表(student1)

sql 复制代码
create table student1 like student;

查看当前数据库所有表

sql 复制代码
show tables;

在创建后可以查看所有的表,来看是否创建成功

查看表的结构

sql 复制代码
desc 表明

命令行客户端工具,只适合执行一些简单的查询或指令,如果说要编写一些复杂的SQL,比如表设计,复杂查询,建议使用可视化工具

在命令行中执行.sql文件

在编译器中把SQL编辑好,保存为一个本地.sql文件,输入source或者简写\.加上.sql文件的路径

创建表和创建数据库一样,也可以加入校验

sql 复制代码
create table if not exists test(id bigint);

如果保存在就是会生成以一个警告信息

删除表

总结

  1. show tables;查看当前数据库的所有表
  2. create table 表名(字段 数据类型 comment '注解'); 创建表
  3. desc 表名; 查看表结构
  4. drop table [if exists] 表名; 删除表

创建表实例

  • 创建⼀个store数据库,⽤来管理商店的商品、顾客和订单数据,这个数据库有以下三个表组成:

  • 商品表:表名为goods,表中包含的列如下:

    列名 类型 描述
    id bigint 商品编号
    name varchar(50) 商品名
    unitprice decimal(12, 2) 零售单价
    costprice decimal(12, 2) 成本价
    category varchar(20) 商品类型
    provider varchar(50) 供应商
  • 客户表:表名为customer,表中包含的列如下:

    列名 类型 描述
    id bigint 客⼾编号
    name varchar(20) 客⼾姓名
    gende bool 性别
    phone_num varchar(20) 电话号码
    email varchar(50) 电⼦邮件
    address varchar(255) 地址
    create_time datetime 注册时间
  • 购买记录表:表名为purchase,表中包含的列如下:

    列名 类型 描述
    order_id varchar(32) 订单编号
    customer_id bigint 客⼾编号
    goods_id bigint 商品编号
    nums int 购买商品数量
    amount decimal(12, 2) 总⾦额
    create_time datetime 订单⽣成时间
    sql 复制代码
    -- 商品表
    drop table if exists goods;
    create table goods(
    	id bigint comment '商品编号',
        name varchar(50) comment '商品名',
        unitprice decimal(12,2) comment '零售单价',
        costprice decimal(12,2) comment '成本价',
        category varchar(50) comment '供应商',
    );
    
    -- 客户表
    drop  table if exists customer;
    create table customer(
    	id bigint comment '客户编号',
        name varchar(20) comment '客户姓名',
        gender bool comment '性别',
        phone_num varchar(20) comment '电话号码',
        email varchar(20) comment '电子邮件',
        address varchar(255) comment '地址',
        create_time datetime comment '注册时间'
    );
    
    -- 购买记录表
    drop  table if exists purchase;
    create tabel 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 '订单生成时间'
    );
sql 复制代码
-- 老师表
drop table if exists teachars;
create table teachars(
	name varchar(20),
    age int,
    heighth int,
    weight int,
    gender bool,
    education varchar(20),
    birthday datetime,
    id varchar(20)
);

-- 图书表
CREATE TABLE books (
    book_name VARCHAR(200),    
    book_author VARCHAR(100),      
    book_price DECIMAL(8,2),        
    book_category VARCHAR(50) ,      
);
相关推荐
小鸡脚来咯12 分钟前
Redis与MySQL双写一致性(实战解决方案)
spring·oracle·mybatis
利剑 -~44 分钟前
mysql面试题整理
android·数据库·mysql
程序员卷卷狗1 小时前
Redis事务与MySQL事务有什么区别?一文分清
数据库·redis·mysql
qq_12498707532 小时前
重庆三峡学院图书资料管理系统设计与实现(源码+论文+部署+安装)
java·spring boot·后端·mysql·spring·毕业设计
大学生资源网2 小时前
java毕业设计之“知语”花卉销售网站的设计与实现源码(源代码+文档)
java·mysql·毕业设计·源码·springboot
梁同学与Android3 小时前
Android ---【经验篇】ArrayList vs CopyOnWriteArrayList 核心区别,怎么选择?
android·java·开发语言
沐怡旸3 小时前
【翻译】adb screenrecord 帮助文档
android
lienyin4 小时前
Android 简单的SFTP服务端+客户端通信传文件
android
<花开花落>4 小时前
Cursor 的 MCP 应用:mysql-mcp-server
mysql·cursor·mcp
l1t5 小时前
用docker安装oracle 19c
运维·数据库·docker·oracle·容器