iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql创建表的语法结构和表的使用方法
  • 457
分享到

mysql创建表的语法结构和表的使用方法

2024-04-02 19:04:59 457人浏览 泡泡鱼
摘要

首先我们都知道只有成功创建数据库后,才能创建数据表,数据表是字段的集合,在表中数据按行和列的格式存储。创建表Mysql 使用 CREATE TABLE 创建表。其中有多个选择,主要由表创建定义(create

首先我们都知道只有成功创建数据库后,才能创建数据表,数据表是字段的集合,在表中数据按行和列的格式存储。

创建表

Mysql 使用 CREATE TABLE 创建表。其中有多个选择,主要由表创建定义(create definition)、表选项定义(table options) 和区分选项(partition options)等内容构成。

表创建定义

由表列的名字、列的定义集可能的一个空值声明、一个完整性约束或表索引项组成,表索引项主要定义表的索引、主键、外键等。

语法结构

CREATE[TEMPORARY]TABLE tbl_name
(
    字段名|数据类型[列级完整性约束条件][默认值]
    [,字段名2 数据类型[列级完整性约束条件][默认值]]
    [,....]
    [,表级完整性约束条件]
)[ENGINE=引擎类型]

Example:
新建一个客户信息

mysql> USE mysql_test
Database changed
mysql> CRATE TABLE customers
    ->(
    -> cust_id INT NOT NULL AUTO_INCREMENT,
    -> cust_name CHAR(50) NOT NULL,
    -> cust_sex CHAR(1) NOT NULL DEFAULT 0,
    -> cust_address CHAR(50) NULL
    -> cust_contact CHAR(50) NULL
    -> PRIMARY KEY(CUST_ID)
    ->)
Query OK, 0 rows affected(0.11 sec)

临时表与持久表

TEMPORARY:表示临时表,如果不选用则位持久表。

持久表一直存在,多个用户或应用程序可同时使用持久表,如果只需临时存放数据可添加 TEMPORARY 关键字,临时表只能对创建它的用户可见,断开数据库连接时,表会自动清除。

数据类型

数据类型指系统中所允许的数据的类型。每列都应有适当的数据类型,来限制或允许该列的数据。 建表时必须为每列指定正确的数据类型及数据长度 (CHAR(50))

MySQL 主要数据类型:

数值类型:整型 int、浮点 double、布尔 bool

日期和时间类型:日期型、时间戳 timestamp、时间型 time

字符串类型:定长字符类型char、可变长字符类型varchrar

空间数据类型:单个几何类型 GEOMETRY等

关键字 AUTO_INCREMENT

AUTO_INCREMENT: 表中数据类型为整型的列设置自增属性 (++i),从当前指或 1 开始,表中只能有一个 AUTO_INCREMENT。

当一个表列被指定为 AUTO_INCREMENT 后,其值可被覆盖,即可在表数据插入语句中为该列指定一个值(必须唯一),则该值将替换系统自动生成的值,后续增量基于该插入的值

指定默认值

DEFAULT:用于指定MySQL在未给值的情况下默认的值(DEFAULT 0)

如果未指定默认值,则自动为其分配一个值,如若该列可取值NULL,则默认NULL,若定义 NOT NULL,则默认取决于该列的类型:

一个没有声明 AUTO_INCREMENT 列 为数字类型,默认 0

一个 AUTO_INCREMENT 列 默认为顺序中的下一个值

对于除 TIMESTAMP 以外的日期和时间类型,默认为该类型适当的'零'值

对于表中第一个 TIMESTAMP 列,默认值为当前日期和时间

NULL值

NULL:没有值或缺值,允许NULL的列,插入行时可以不给该列的值;不允许NULL值的列,则该列必须有数据
NULL 和 ''是不对等的 NOT NULL 列中允许'' 不允许 NULL

主键

PRIMARY KEY :指定主键,主键必须唯一且不能为NULL, 如果是单列,值必须唯一,如果是组合列,则其组合的值必须唯一

更新表

通过使用 ALTER TABLE 来修改数据库

ADD[COLUMN]:新增表列,可增多列使用逗号分隔即可

Example:

mysql> ALTER TABLE mysqle_test.customers
    -> ADD COLUMN cust_city char(10) NOT NULL DEFAULT'ShenZhen' AFTER cust_sex;
Query OK,0 rows affected(0.61 sec)
Records:0 Duplicates:0 Warning:0

AFTER:将新增的列添加到cut_sexl 列之后
FIRST:将新增的列添加到表的第一列

若使用上述关键字则将新增的列添加至表最后

类似的 可以使用 ADDPRIMARY KEY 、ADDFOREIGN KEY 、ADD INDEX 添加对应的 主键、外键、索引

CHANGE[COLUMN]: 修改表中列的名称或数据类型,可修改多列使用逗号分隔即可

mysql> ALTER TABLE mysqle_test.customers
    -> CHANGE COLUMN cust_sex sex char(1) NULL DEFAULT 'M'
Query OK,0 rows affected(0.66 sec)
Records:0 Duplicates:0 Warning:0

如果将数据类型更换,可能会丢失该列原有的数据,如果视图改变的数据类型于原有的数据类型不兼容,则SQL命令不会执行,且抛出错误。
再兼容的情况下,该列的数据可能会被截断,如:一列的数据类型为 varchart(10),改为char(1),则该列中的数据'ShenZhen'会变为'S'

ALTER [COLUMN]: 修改或删除指定列的默认值

mysql> ALTER TABLE mysqle_test.customers
    -> ALTER COLUMN cust_city SET  DEFAULT 'ShangHai'
Query OK,0 rows affected(0.36 sec)
Records:0 Duplicates:0 Warning:0

MODIFY [COLUMN]: 修改指定列的数据类型,通过 'FIRST' 或 'AFTER' 修改列的位置

mysql> ALTER TABLE mysqle_test.customers
    -> MODIFY COLUMN cust_name char(30)  FIRST
Query OK,0 rows affected(0.20 sec)
Records:0 Duplicates:0 Warning:0

DROP [COLUMN]: 删除列,该列所有数据一并删除

mysql> ALTER TABLE mysqle_test.customers
    -> DROP COLUMN cust_city
Query OK,0 rows affected(0.42 sec)
Records:0 Duplicates:0 Warning:0

同样 可使用 DROP PRIMARY KEY 、DROP FOREIGN KEY、DROP INDEX 删除对应的主键、外键、索引

RENAME[TO]:表重命名

mysql> ALTER TABLE mysqle_test.customers
    -> RENAME TOQuery OK,0 rows affected(0.42 sec)

重命名表

除了 ALTER TABLE 中的 RENAME TO 修改表名,还可通过 RENAME TABLE 来修改单张和多张表(以逗号分隔)

mysql> RENAME TABLE mysql_test.back.customers TO mysqle_test.customers

删除表

DROP[TEMPORARY]TABLE[IF EXISTS]删除一个已存在的表,可以删除多张表,前提操作人必须有权限,但是操作人在该张表上的权限不会被删除

查看表

SHOW [FULL] TABLES [{FROM|IN}db_name] [LIKE'pattern'|WHERE expr]: 显示指定数据库中所有表名

Example:

mysql> USE mysql_testDatabase changedmysql> SHOW TABLES:
 Tables_in_mysql_test
 customers 1 row in set <0.01 sec>

SHOW [FULL] COLUMNS {FROM|IN}tb_name[{FROM|IN}db_name] 或 {DESCRIBE|DESC} tbl_name[col_name|wild]: 显示指定数据库表结构。

MySQL 支持使用 DESCRIBE 代替 SHOW COLUMNS FROM 来查看表结构

Example:

mysql> DESC mysql_test.custORMes
Field         Type       Null key  Default Extra
cust_id       int<11>    NO   PRI  NULL    auto_increment
cust_name     char<50>   NO        Null
cust_sex      int<1>     NO        0

3 row in set <1.56 sec>

以上就是mysql表定义语法详细介绍的详细内容,更多请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: mysql创建表的语法结构和表的使用方法

本文链接: https://www.lsjlt.com/news/34919.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql中创建表的方法
    小编给大家分享一下mysql中创建表的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.mysql中创建数据表的语法CREATE TABLE&nbs...
    99+
    2023-06-14
  • mysql表结构的复制方法
    本篇内容主要讲解“mysql表结构的复制方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql表结构的复制方法”吧!我们特别是oracle dbas常常会...
    99+
    2024-04-02
  • 如何使用SQL语句在MySQL中创建和修改表结构?
    如何使用SQL语句在MySQL中创建和修改表结构?MySQL作为一种关系型数据库管理系统,提供了大量的SQL语句来创建和修改表结构。本文将详细介绍如何使用SQL语句在MySQL中进行表结构的创建和修改,并提供具体的代码示例。一、创建表结构在...
    99+
    2023-12-17
    创建表 (Create Table) 修改表 (Alter Table) 数据定义语言 (DDL Data Defini
  • EntityFramework使用DbModelBuilderAPI创建表结构
    DbContext类有一个OnModelCreating方法,它用于流利地配置领域类到数据库模式的映射。下面我们以fluent API的方式来定义映射。首先,先将Product类注释...
    99+
    2024-04-02
  • navicat用sql语句创建表的方法
    这篇文章给大家分享的是有关navicat用sql语句创建表的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。选择一个数据库,点击“查询”,在右侧点击“创建查询”,输入SQL语句...
    99+
    2024-04-02
  • 用navicat创建表的方法
    这篇文章主要介绍了用navicat创建表的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。第一步:打开Navicat for MySql之后,...
    99+
    2024-04-02
  • 用sql语句创建学生表的方法
    这篇文章主要介绍用sql语句创建学生表的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!步骤:1、打开“sql server”;2、用“creat table student();...
    99+
    2024-04-02
  • sql创建表的方法
    这篇文章将为大家详细讲解有关sql创建表的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在sql中可以通过语法“CREATE TABLE 表名称(列名称1 数据类型,...
    99+
    2024-04-02
  • 用mysql建表的方法
    用mysql建表的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!在mysql中可以使用“CREATE TABLE”语法...
    99+
    2024-04-02
  • mysql创建表结构的命令是什么
    在 mysql 中,创建表结构的命令是 create table,其语法为:create table table_name (column_name1 data_type1 [const...
    99+
    2024-04-22
    mysql
  • mysql创建表结构的命令有哪些
    答案:使用 create table 语句创建表结构。详细描述:create table 语句用于创建一个新表,其中包含列名、数据类型和约束条件。数据类型包括:数值类型、字符类型、日期和...
    99+
    2024-04-22
    mysql
  • MySQL中创建表的方法有哪些
    在MySQL中创建表的方法有以下几种: 使用CREATE TABLE语句:利用CREATE TABLE语句可以直接在MySQL中创...
    99+
    2024-04-09
    MySQL
  • MySQL创建数据表的语法是什么
    MySQL创建数据表的语法如下: CREATE TABLE table_name ( column1 datatype co...
    99+
    2023-10-24
    MySQL
  • mysql表格创建的方法是什么
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-15
  • MySQL数据库修改表结构的方法
    MySQL数据库修改表结构的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!MySQL数据库修改表结构的方法:1、使用a...
    99+
    2024-04-02
  • mysql查看表结构的方法有哪些
    MySQL查看表结构的方法有以下几种:1. 使用DESCRIBE语句:可以使用DESCRIBE或DESC命令来查看表的结构。例如,D...
    99+
    2023-10-19
    mysql
  • mysql修改表结构的方法是什么
    MySQL修改表结构的方法有以下几种: 使用ALTER TABLE语句来修改表结构,可以添加、修改、删除表的列,修改表的数据类型,...
    99+
    2024-04-09
    mysql
  • MySQL显示表结构的方法是什么
    要显示MySQL中表的结构,可以使用DESC命令或者SHOW CREATE TABLE命令。 使用DESC命令: DESC ta...
    99+
    2024-04-09
    MySQL
  • navicat创建oracle表的方法
    小编给大家分享一下navicat创建oracle表的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、Oracle安装htt...
    99+
    2024-04-02
  • mysql查看表结构的方法是什么
    这篇“mysql查看表结构的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql查看表结构的方法是什么”文章吧...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作