MySQL 数据库:创建新数据库和数据表全攻略

[复制链接]
发表于 2025-5-26 19:21:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
MySQL 数据库:创建新数据库和数据表全攻略

在 MySQL 数据库管理中,创建新的数据库和数据表是基础且关键的操作。无论是开发新的应用程序,照旧对现有数据举行整理和存储,都离不开这些操作。本文将详细介绍如何在 MySQL 中创建新数据库和数据表,以及相关的注意事项。
一、创建新数据库

1.1 使用CREATE DATABASE语句

在 MySQL 中,创建新数据库的基本语法如下:
  1. CREATE DATABASE database_name;
复制代码

此中,database_name是你想要创建的数据库名称。例如,要创建一个名为mynewdb的数据库,可以实验以下语句:
  1. CREATE DATABASE mynewdb;
复制代码
1.2 数据库字符集和排序规则设置

在创建数据库时,通常必要思量字符集和排序规则。字符集决定了数据库可以存储的字符范例,排序规则则决定了字符的比较和排序方式。常见的字符集有utf8(支持大部门常用字符)和utf8mb4(支持更多特殊字符,包括表情符号等)。
语法如下:
  1. CREATE DATABASE database_name
  2. CHARACTER SET charset_name
  3. COLLATE collation_name;
复制代码
例如,创建一个使用utf8mb4字符集和utf8mb4_unicode_ci排序规则的数据库:
  1. CREATE DATABASE mynewdb
  2. CHARACTER SET utf8mb4
  3. COLLATE utf8mb4_unicode_ci;
复制代码
1.3 权限与安全思量

创建数据库后,必要思量权限分配。默认情况下,只有数据库管理员(如root用户)可以访问新创建的数据库。如果要允许其他用户访问,可以使用GRANT语句举行授权。例如,允许用户myuser从localhost连接并对mynewdb数据库拥有全部权限:
  1. GRANT ALL ON mynewdb.* TO'myuser'@'localhost' IDENTIFIED BY 'password';
复制代码
二、创建新数据表

2.1 基本CREATE TABLE语法

在已创建的数据库中创建数据表,使用CREATE TABLE语句。基本语法如下:
  1. CREATE TABLE table_name (
  2.     column1 datatype constraint,
  3.     column2 datatype constraint,
  4.    ...
  5. );
复制代码
此中,table_name是数据表名称,column1、column2等是表中的列名,datatype是列的数据范例(如INT、VARCHAR、DATE等),constraint是列的束缚条件(如NOT NULL、PRIMARY KEY等)。
例如,创建一个名为students的表,包罗id(整数范例,为主键)、name(字符串范例,不能为空)和age(整数范例)三列:
  1. CREATE TABLE students (
  2.     id INT PRIMARY KEY,
  3.     name VARCHAR(50) NOT NULL,
  4.     age INT
  5. );
复制代码
2.2 常见数据范例


  • 整数范例

    • INT:用于存储整数,范围较大,一般占用 4 个字节。
    • SMALLINT:占用 2 个字节,存储范围相对较小的整数。
    • BIGINT:占用 8 个字节,可存储非常大的整数。

  • 字符串范例

    • VARCHAR:可变长度字符串,适合存储长度不确定的文本,如姓名、地址等。在界说时必要指定最大长度,如VARCHAR(50)表现最大长度为 50 个字符。
    • CHAR:固定长度字符串,无论实际存储的字符长度多少,都占用固定的字节数。例如CHAR(10),纵然只存储了 3 个字符,也会占用 10 个字符的存储空间。

  • 日期和时间范例

    • DATE:用于存储日期,格式为YYYY - MM - DD。
    • DATETIME:存储日期和时间,格式为YYYY - MM - DD HH:MM:SS。
    • TIMESTAMP:也用于存储日期和时间,不外它的取值范围和存储方式与DATETIME略有不同,并且在插入或更新数据时,TIMESTAMP列会主动更新为当前时间(如果设置了相关属性)。

2.3 束缚条件


  • PRIMARY KEY:主键束缚,用于唯一标识表中的每一行记载。一个表只能有一个主键,可以是单列主键,也可以是多列组合的复合主键。
  • FOREIGN KEY:外键束缚,用于建立表与表之间的关联关系。通过外键,可以确保数据的一致性和完备性。例如,在一个orders表中,可以设置一个外键指向customers表的主键,以表现订单与客户的关联。
  • NOT NULL:非空束缚,确保列中不能插入空值。
  • UNIQUE:唯一束缚,确保列中的值是唯一的,但可以有多个空值(如果允许空值的话)。
2.4 表的存储引擎

MySQL 支持多种存储引擎,如InnoDB、MyISAM等。InnoDB是 MySQL 5.5 及以上版本的默认存储引擎,它支持事件、行级锁和外键束缚等功能,适合处理高并发、必要数据完备性的应用场景。MyISAM不支持事件和外键,但其查询性能在某些简单场景下表现较好。

在创建表时,可以指定存储引擎,语法如下:
  1. CREATE TABLE table_name (
  2.     -- 列定义
  3. ) ENGINE = engine_name;
复制代码
例如:
  1. CREATE TABLE mytable (
  2.     id INT PRIMARY KEY,
  3.     data VARCHAR(100)
  4. ) ENGINE = InnoDB;
复制代码
三、总结

创建新数据库和数据表是 MySQL 数据库操作的基础。通过合理设置数据库的字符集、数据表的结构、数据范例和束缚条件等,可以确保数据库能够高效、稳定地存储和管理数据。渴望本文能帮助你熟练把握这些操作,在实际开发和数据管理中运用自如。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

快速回复 返回顶部 返回列表