【MySQL】创建、删除、选择数据库等

创建数据库

创建数据库的基本语法:

CREATE DATABASE [IF NOT EXISTS] database_name
  [CHARACTER SET charset_name]
  [COLLATE collation_name];

例如:

CREATE DATABASE mydatabase
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_general_ci;

删除数据库

删除数据库的基本语法:

DROP DATABASE <database_name>;        -- 直接删除数据库,不检查是否存在
或
DROP DATABASE [IF EXISTS] <database_name>;

参数说明

IF EXISTS 是一个可选的子句,表示如果数据库存在才执行删除操作,避免因为数据库不存在而引发错误。

database_name 是你要删除的数据库的名称。

注意: 建议在执行删除数据库操作前备份数据库。

选择数据库

选择数据库的基本语法:

USE database_name;

数据类型

数据类型

日期和时间类型

日期和时间类型

字符串类型

字符串类型

注意:char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。

CHARVARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

BINARYVARBINARY 类似于 CHARVARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。

有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。

以上图片来自于菜鸟教程

枚举与集合类型

  • ENUM: 枚举类型,用于存储单一值,可以选择一个预定义的集合。
  • SET: 集合类型,用于存储多个值,可以选择多个预定义的集合。

空间数据类型

  • GEOMETRY:这是一个抽象的根类型,用于存储任何类型的地理空间数据。
  • POINT:用于存储一个二维空间点。
  • LINESTRING:用于存储两个或多个点组成的线段。
  • POLYGON:用于存储一个闭合的形状,由三个或更多的点组成。
  • MULTIPOINTMULTILINESTRINGMULTIPOLYGONGEOMETRYCOLLECTION:这些类型用于存储多个点、线段或多边形的集合。

例如,如果你有一个Places表,你可以使用POINT类型来存储每个地点的经纬度:

CREATE TABLE Places (
    PlaceID INT NOT NULL,
    Name VARCHAR(100),
    Location POINT,
    PRIMARY KEY (PlaceID)
);

然后,你可以使用ST_GeomFromText函数来插入地理空间数据:

INSERT INTO Places (PlaceID, Name, Location)
VALUES (1, 'The Great Wall of China', ST_GeomFromText('POINT(40.431908 116.570374)'));

并使用ST_AsText函数来查询地理空间数据:

SELECT PlaceID, Name, ST_AsText(Location)
FROM Places
WHERE PlaceID = 1;

创建数据表

创建数据表的通用语法:

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

参数说明

  • table_name 是你要创建的表的名称。
  • column1, column2, … 是表中的列名。
  • datatype 是每个列的数据类型。

实例

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    birthdate DATE,
    is_active BOOLEAN DEFAULT TRUE
);

参数说明

  • id: 用户 id,整数类型,自增长,作为主键。
  • username: 用户名,变长字符串,不允许为空。
  • email: 用户邮箱,变长字符串,不允许为空。
  • birthdate: 用户的生日,日期类型。
  • is_active: 用户是否已经激活,布尔类型,默认值为 true。

删除数据表

删除数据表的通用语法:

DROP TABLE table_name ;    -- 直接删除表,不检查是否存在
或
DROP TABLE [IF EXISTS] table_name;

插入数据

插入数据通用语法:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

例如

INSERT INTO users (username, email, birthdate, is_active)
VALUES ('test', 'test@runoob.com', '1990-01-01', true);

例如:

INSERT INTO users (username, email, birthdate, is_active)
VALUES
    ('test1', 'test1@runoob.com', '1985-07-10', true),
    ('test2', 'test2@runoob.com', '1988-11-25', false),
    ('test3', 'test3@runoob.com', '1993-05-03', true);
  • 24
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值