MySQL——数据库的创建和管理

本文详细介绍了如何在MySQL中创建数据库,包括直接创建、指定字符集以及检查结构。此外,还讲述了如何选择和切换数据库,以及谨慎删除数据库及其注意事项。

MySQL——数据库的创建和管理

1、创建数据库

CREATE DATABASE语句用于创建新的SQL数据库。

语法及扩展

-- 直接创建
CREATE DATABASE database_name;
-- 创建数据库并指明字符集
CREATE DATABASE database_name character set 'gbk';
-- 如果不存在则创建成功,如果已存在则创建不成功,但不会报错
CREATE DATABASE if NOT exists database_name character set 'utf-8';
-- 查看创建数据库的结构
show create database database_name

数据库名称(database_name)在同一个RDBMS中必须是唯一的。

创建数据库实例

CREATE DATABASE mytestdb;

在这里插入图片描述

2、使用数据库

如果SQL模式中有多个数据库,那么在开始操作之前,需要选择一个将执行操作的数据库。

USE语句用于选择用户中的任何现有数据库。

语法:

-- 当前连接现有的数据库
show database
-- 指定使用的数据库
USE database_name;
-- 查看当前使用的数据库
select database()

3、删除数据库

DROP DATABASE语句用于删除用户中已存在的数据库。

语法

DROP DATABASE if exists database_name;

如果要删除现有数据库 mytestdb,则DROP DATABASE语句如下所示 -

DROP DATABASE if exists mytestdb;

注意 在使用此操作之前要小心,因为删除现有数据库将会删除存储在此数据库中的完整信息,比如:表,函数,视图等都会一起被删除。

### MySQL创建表 在MySQL里,创建表借助`CREATE TABLE`语句实现。基本语法如下: ```sql CREATE TABLE table_name ( column1 datatype constraints, column2 datatype constraints, ... table_constraints ); ``` - `table_name`:要创建的表的名称。 - `column1, column2, ...`:表中的列名。 - `datatype`:列的数据类型,如`INT`、`VARCHAR`、`DATE`等。 - `constraints`:列的约束条件,如`NOT NULL`、`PRIMARY KEY`、`UNIQUE`等。 - `table_constraints`:表级约束条件。 示例,创建一个名为`employees`的表: ```sql CREATE TABLE employees ( id INT PRIMARY KEY AUTO_INCREMENT, first_name VARCHAR(50) NOT NULL, last_name VARCHAR(50) NOT NULL, hire_date DATE ); ``` 此表有`id`、`first_name`、`last_name``hire_date`四列,其中`id`为自增主键。 ### MySQL创建视图 视图是虚拟表,其内容由查询定义。创建视图使用`CREATE VIEW`语句,基本语法如下: ```sql CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; ``` - `view_name`:要创建的视图的名称。 - `column1, column2, ...`:要在视图中显示的列。 - `table_name`:数据来源的表。 - `condition`:可选的筛选条件。 示例,基于`employees`表创建一个视图,仅显示员工的`id``first_name`: ```sql CREATE VIEW employee_names AS SELECT id, first_name FROM employees; ``` ### MySQL数据库创建视图 若需从不同数据库的表创建视图,可在查询里指定数据库名。示例如下: ```sql CREATE VIEW cross_db_view AS SELECT `u`.`id` AS `id`, `u`.`username` AS `username`, `o`.`name` AS `name` FROM (`tb_user` `u` LEFT JOIN `cloud_order`.`tb_order` `o` ON ((`o`.`user_id` = `u`.`id`))); ``` 此视图从`tb_user`表`cloud_order`数据库中的`tb_order`表获取数据 [^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万里顾—程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值