MySQL入门教程(五)之表的创建、修改和删除

MySQL入门教程(五)之表的创建、修改和删除

在MySQL中,数据存储在表中,因此表的创建、修改和删除是非常重要的。下面,我们将详细讲解这些操作的完整攻略。

一、表的创建

表的创建需要使用CREATE TABLE语句,语法格式如下:

CREATE TABLE table_name (
    column1 datatype constraint,
    column2 datatype constraint,
    ...
    column_n datatype constraint
);

其中,table_name是表的名称,column1、column2、...、column_n是列名,datatype是数据类型,constraint是列的约束条件,如NOT NULL、UNIQUE、PRIMARY KEY等。

例如,创建一个名为student的表,包含id、name、age三个列,其中id列是主键,可以使用以下语句:

CREATE TABLE student (
    id INT NOT NULL PRIMARY KEY,
    name VARCHAR(20) NOT NULL,
    age INT NOT NULL
);

二、表的修改

表的修改可以使用ALTER TABLE语句,该语句支持多种修改操作,如添加、修改和删除列、修改列的数据类型、添加约束条件等。语法格式如下:

ALTER TABLE table_name
    ADD column_name data_type [constraint],
    MODIFY column_name data_type [constraint],
    DROP column_name,
    ADD CONSTRAINT constraint_name constraint

例如,对于上述创建的student表,如果需要添加一个成绩列,可以使用以下语句:

ALTER TABLE student
    ADD score INT NOT NULL;

三、表的删除

表的删除可以使用DROP TABLE语句,语法格式如下:

DROP TABLE table_name;

该语句会彻底删除表及其所有数据。如果只是需要清空表中的数据,可以使用TRUNCATE TABLE语句,语法格式如下:

TRUNCATE TABLE table_name;

该语句会删除表中的所有数据,但不会删除表本身。

四、示例说明

下面,我们给出两个示例说明:

示例一

假设现在有一个名为employee的表,包含id、name、salary三个列,其中id列是主键。现在,需要将salary列修改为annual_salary列,并将其数据类型修改为DECIMAL(10,2)。可以使用以下语句:

ALTER TABLE employee
    CHANGE COLUMN salary annual_salary DECIMAL(10,2) NOT NULL;

示例二

假设现在需要创建一个名为order的表,包含id、customer、product、price四个列,并且id列是主键、price列不允许为负数。可以使用以下语句:

CREATE TABLE order (
    id INT NOT NULL PRIMARY KEY,
    customer VARCHAR(20) NOT NULL,
    product VARCHAR(20) NOT NULL,
    price DECIMAL(10,2) NOT NULL CHECK(price>=0)
);

注意,由于order是MySQL保留关键字,因此在创建表时需要使用反引号(`)将表名括起来。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL入门教程(五)之表的创建、修改和删除 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • Jmeter设置全局变量token过程图解

    JMeter设置全局变量token过程图解攻略 JMeter是一款功能强大的性能测试工具,可以模拟多种负载情况对目标系统进行测试。在测试过程中,有时需要使用全局变量来保存一些动态生成的值,比如token。下面是设置全局变量token的详细攻略,包含两个示例说明。 步骤一:添加用户定义的变量 打开JMeter,创建一个测试计划。 在测试计划上右键单击,选择\”…

    other 2023年7月29日
    00
  • MySQL对JSON类型字段数据进行提取和查询的实现

    MySQL对JSON类型字段的提取和查询,是MySQL 5.7及以上版本中的新增功能之一。JSON类型字段在存储结构上,采用的是变长字符串类型,表示的是JSON文本. 下面将会对此进行详细的介绍。 创建表格 首先,我们来创建一个名为users的表格,并在其中添加一个JSON类型字段数据示例,如下所示: CREATE TABLE users ( id INT …

    other 2023年6月25日
    00
  • ubuntu下root用户默认密码及修改方法

    以下是关于Ubuntu下root用户默认密码及修改方法的完整攻略: Ubuntu下root用户默认密码及修改方法 在Ubuntu系统中,默认情况下是没有为root用户设置密码的。因此,如果您需要使用root用户,需要先设置密码。以下是两种设置root用户密码的方法。 方法1:使用sudo命令设置root用户密码 打开终端,输入以下命令以切换到root用户: …

    other 2023年5月6日
    00
  • Java数据结构与算法之栈(Stack)实现详解

    Java数据结构与算法之栈(Stack)实现详解 1. 栈的概念及用途 栈(Stack)是一种线性数据结构,它具有“后进先出(Last In First Out, LIFO)”的特点。栈可以看成是一种特殊的列表,列表中的元素只能通过栈顶加入或删除,称为入栈和出栈。 栈的应用非常广泛,例如在函数调用时,系统会自动为每个函数创建一个栈,用于存储函数调用过程中产生…

    other 2023年6月27日
    00
  • Android集成高德地图详细介绍

    Android集成高德地图详细介绍 高德地图是一款功能强大的地图服务,可以在Android应用中实现地图展示、定位、路径规划等功能。本攻略将详细介绍如何集成高德地图到Android应用中。 步骤一:申请高德地图API Key 在集成高德地图之前,需要先申请一个API Key。API Key是用于标识开发者身份和授权使用高德地图服务的密钥。 访问高德开放平台,…

    other 2023年10月13日
    00
  • PHP 双链表(SplDoublyLinkedList)简介和使用实例

    首先我们先简单介绍一下PHP双链表(SplDoublyLinkedList)。 PHP双链表(SplDoublyLinkedList)简介 PHP双链表是一种可以双向遍历的线性结构,它能够在元素的前后两个方向上添加和删除元素,并且支持根据索引查询和修改元素。相对于PHP的普通数组来说,双链表在某些情况下会更加高效,尤其是在大量的插入和删除操作时。 PHP双链…

    other 2023年6月27日
    00
  • 在mybatis中去除多余的前缀或者后缀操作

    在MyBatis中,可以使用<trim>元素来去除多余的前缀或后缀操作。<trim>元素可以用于动态地处理SQL语句的前缀和后缀,以便根据条件添加或删除它们。 以下是使用<trim>元素去除多余前缀或后缀的完整攻略: 去除前缀示例: <select id=\"getUserList\" resul…

    other 2023年8月5日
    00
  • 基于Python实现2种反转链表方法代码实例

    当我们需要对链表进行反转的时候,在Python中有很多种实现方式。本文将详细阐述两种反转链表的实现方法及其代码实例。 方法一:反转链表法 反转链表是最基础的一种方法,其实现思路很简单,就是对链表中的每个节点按照它们的next指针进行反转。首先我们定义一个新的链表头节点,然后遍历原始链表,每遍历到一个节点就将其作为头节点的下一节点,同时将其从原链表中删除。这样…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部