MySQL 表的操作

ops/2024/11/14 3:51:57/

要在mysql中的数据库创建表,首先要进入进入某个数据库,我们可以使用如下命令

use 数据库名;

例如,进入test1数据库

创建表

create table table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
  • field:字段名
  • datatype:该字段的数据类型
  • character set:指定字符集,若没有指定,与数据库使用的字符集一致
  • collate:指定校验集,若没有指定,与数据库使用的校验集一致
  • engine:指定存储引擎

例如,我们创建一个名为 t1 的表,其内容有两列,第一列为id,类型为 int,第二列为name,类型为 varchar(10),并设置字符集为utf8,校验集为utf8_general_ci,存储引擎为MyIsam。

同时我们可以查看/var/lib/mysql/test1目录下出现了三个文件:t1_375.sdit1.MYDt1.MYI,这三个文件共同维护了t1这张表。实际上也可看出,数据库本质是一个目录,而其中的表是一个个文件。

查看表

查看当前数据库有那些表

show tables;

查看表的结构

describe/desc 表名;

  • Field:字段名
  • Type:字段的数据类型
  • Null:该列是否允许为空
  • Key:索引类型
  • Default:默认值
  • Extra:扩充

查看建表时的语句

show create table 表名;

例如,我们可以查看创建 t1 时的语句。

我们可以将语句末尾的 ; 改为 \G 选项将格式简单化。

不过我们可以看到输出的建表语句与我们输入的语句并不完全相同,这是因为MySQL会对输入的语句进行优化,统一格式化,比如说MySQL建议将关键字全部大写,我们以小写的语句创建表格底层会被转化为大写。

修改表

添加行数据

insert into 表名 [(列名,列名...)] values (对应列的数据,对应列的数据...)
[,(对应列的数据,对应列的数据...),...];

[ ]中为可选项,填入表的列 [(列名,列名...)] 可以省略表示全插入,也可以 ( ) 中指定某些列部分插入,[,(对应列的数据,对应列的数据...),...] 表示可以添加多行数据,每行数据包含在 ( ) 中,行与行之间用逗号隔开。

例如

查看表中的数据

查看所有数据

select * from 表名;

例如我们查看刚刚添加的所有数据,可以发现如果部分插入时,那些没有插入数据的列值为NULL

也可以查看特定列的数据

select 列名[,列名,...] from 表名;

[ ]中为可选项,可以查看多列,列与列之间用逗号隔开。

还可以通过添加where选项添加条件查询,以便只返回满足特定条件的行

select * from 表名 where 条件;

例如我们查看 name='王五' 的行数据

添加列

alter table 表名 add 列名 类型 [comment 描述 after 某一列列名];

[ ]中为可选项,可以添加 comment 对该列的描述,以及 after 将新添加的列置于某一列的后面,未选用 after 时默认添加到最后一列,如果想添加到第一列则将 after 某一列列名 改为 first

例如,在t1表的 id 列后添加一列 age,数据类型为 int。

修改列

alter table 表名 change 旧列名 新列名 类型;

例如,我们将t1表的 id 改为 new_id,类型 int 改为 bigint。

删除列

alter table 表名 drop 列名;

例如,我们将t1表的 age 列删除。

修改表名

alter table 旧表名 rename [to] 新表名;

其中的 to 可以省略。

例如,我们将t1表重命名为 student。

删除表

drop table [if exists] 表名 [, 表名, ...];

[ ]中的内容为可选项,如果想要删除多个表,可以在表与表之间加逗号隔开。


http://www.ppmy.cn/ops/132999.html

相关文章

Docker compose 部署MongoDB

docker compose 部署MongoDB单节点 version: 2services:mongodb:image: docker.io/bitnami/mongodb:6.0ports:- "27017:27017"volumes:- mongodb_data:/bitnami/mongodbvolumes:mongodb_data:driver: localdocker compose 部署MongoDB集群 version: 2services:mong…

int socket(int domain,int type,int protocol);

本文内容产生自智谱清言 头文件&#xff1a; #include <sys/socket.h> int socket(int domain,int type,int protocol); 它是在C语言中使用的一个系统调用函数&#xff0c;用于创建一个新的套接字。套接字是支持TCP/IP协议的网络通信的端点&#xff0c;可以看作是不同…

电子电气架构 --- 基于以太网的车载网络协议的描述

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。…

性能调优专题(9)之从JDK源码级别解析JVM类加载机制

一、类加载运行全过程 当我们用java命令运行某个类的main函数启动程序时&#xff0c;首先需要通过类加载器把主类加载到JVM。 package com.tuling.jvm;public class Math {public static final int initData 666;public static User user new User();public int compute() {…

012_SSH_Mysql网上订餐系统(论文+程序)_lwplus87

摘 要 本文讲述了基于JSP技术构建的网上订餐系统的设计与实现。所谓的网上订餐系统是通过网站推广互联企业的商品和技术服务&#xff0c;并使客户随时可以了解企业和企业的产品&#xff0c;为客户提供在线服务和订单处理功能。 从长期的战略目标来说&#xff0c;网站不仅是…

数据分析-45-时间序列预测之使用LSTM的错误及修正方式

文章目录 1 问题分析1.1 加载数据1.2 时间序列预测场景2 LSTM应用流程(窗口方法)2.1 创建滞后特征2.1.1 生成二维数据2.1.2 生成三维数据2.2 切分训练集和测试集2.3 创建模型并训练2.4 模型预测2.5 解决方式3 LSTM应用流程(多步方法)3.1 创建滞后特征3.2 切分数据集3.3 训练模型…

HT5606 2*75W 12S Input Stereo Class D Amplifier

1、特征 电源供电 -PVDD: 4.5V-26.4V; 音频性能 输出功率(BTL) 2x75W(PVDD24V,RL4Ω,THDN10%) -输出功率(PBTL) 140W(PVDD24V,RL2Ω,THDN10%) -THDN0.03%(PVDD24V,RL4Ω,PO1W) -噪声: 75uV (Gain25.2dBV,A加权) 音频I/0: -12S输入 -BTL或PBTL输出 -32,44.1,48,88.2,96kHz采样频…

android anr input 流程分析

我这里将input anr分两大部分&#xff0c;一个是焦点窗口相关&#xff0c;一个是焦点事件相关 1 焦点窗口 在每次监测anr的时候&#xff0c;最先检查的是焦点窗口的获取情况 在监测事件是否超时之前有一个方法监测焦点窗口的&#xff0c;findFocuseWindowTargetsLocked&#…