首页 > 数据库 >MySQL数据库的基本操作

MySQL数据库的基本操作

时间:2024-08-24 23:21:43浏览次数:14  
标签:语句 name students 数据库 MySQL 基本操作 CREATE

MySQL数据库的基本操作教程主要包括以下几个方面:创建数据库、创建表、数据增删改
查(CRUD)、数据库和表的管理等。

一、创建数据库

使用CREATE DATABASE语句
在MySQL中,你可以使用CREATE DATABASE语句来创建一个新的数据库。例如,创建一个名为testdb的数据库:

CREATE DATABASE testdb;

如果数据库已存在,该语句会报错。为了避免这种情况,你可以使用IF NOT EXISTS来检查数据库是否存在:

CREATE DATABASE IF NOT EXISTS testdb;

指定字符集和校对规则
在创建数据库时,你可以指定字符集(如utf8mb4)和校对规则(如utf8mb4_unicode_ci)。这有助于确保数据库中的数据在存储和检索时能够正确处理不同语言和字符集:

CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

二、选择数据库

在对数据库中的表进行任何操作之前,你需要先选择(或称为“使用”)该数据库。使用USE语句来选择数据库:

USE testdb;

三、创建表

定义表结构
在创建表之前,你需要定义表的结构,包括表的名称、列的名称和数据类型等。使用CREATE TABLE语句来创建表。例如,创建一个名为students的表,包含学生的ID、姓名、年龄和性别:

CREATE TABLE students (  
    id INT AUTO_INCREMENT PRIMARY KEY,  
    name VARCHAR(100) NOT NULL,  
    age INT,  
    gender ENUM('male', 'female')  
);

在这个例子中,id列是主键,并且设置为自增(AUTO_INCREMENT),意味着每当你向表中插入新行时,MySQL会自动为新行分配一个唯一的ID。name列不允许为空(NOT NULL),age列是整数类型,而gender列是枚举类型,只能包含male或female两个值。

四、数据增删改查(CRUD)

插入数据(Create)
使用INSERT INTO语句向表中插入数据。例如,向students表中插入一条新记录:

INSERT INTO students (name, age, gender) VALUES ('Alice', 20, 'female');

查询数据(Read)
使用SELECT语句从表中查询数据。例如,查询students表中的所有记录:

SELECT * FROM students;

或者查询特定列的数据:

SELECT name, age FROM students;

更新数据(Update)
使用UPDATE语句修改表中的现有数据。例如,将Alice的年龄更新为21岁:

UPDATE students SET age = 21 WHERE name = 'Alice';

删除数据(Delete)
使用DELETE语句从表中删除数据。例如,删除students表中名为Alice的记录:

DELETE FROM students WHERE name = 'Alice';
注意:在使用DELETE语句时要特别小心,因为一旦执行,被删除的数据就无法恢复了

五、数据库和表的管理

查看数据库列表
使用SHOW DATABASES语句查看MySQL服务器上的所有数据库列表:

SHOW DATABASES;

查看当前数据库中的表
在选择了某个数据库后,使用SHOW TABLES语句查看该数据库中的所有表:

SHOW TABLES;

查看表结构
使用DESCRIBE或DESC语句查看表的结构(包括列名、数据类型、是否允许为空等):

DESCRIBE students;

或者

DESC students;

删除数据库和表
使用DROP DATABASE语句删除整个数据库(及其包含的所有表和数据):

DROP DATABASE testdb;

使用DROP TABLE语句删除数据库中的表:

DROP TABLE IF EXISTS students;
	这条语句会检查students表是否存在,如果存在,则将其删除。使用IF EXISTS是
一个好习惯,因为它可以防止在表不存在时执行删除操作导致的错误。

六、索引的创建与管理

索引是帮助MySQL高效查询数据的数据结构。

创建索引
使用CREATE INDEX语句为表创建索引。例如,为students表的name列创建一个索引:

CREATE INDEX idx_name ON students(name);

或者,在创建表时直接指定索引:

CREATE TABLE students (  
    id INT AUTO_INCREMENT PRIMARY KEY,  
    name VARCHAR(100) NOT NULL,  
    age INT,  
    gender ENUM('male', 'female'),  
    INDEX idx_name (name)  
);

查看索引
查看表的索引信息,可以使用SHOW INDEX语句:

SHOW INDEX FROM students;

删除索引
使用DROP INDEX语句删除索引。注意,你不能直接删除主键索引,因为主键是表结构的一部分。但是,你可以删除其他类型的索引:

ALTER TABLE students DROP INDEX idx_name;

七、用户与权限管理

MySQL支持用户与权限管理,允许你控制谁可以访问数据库以及他们可以执行哪些操作。

创建用户
使用CREATE USER语句创建新用户:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

这里,'newuser’是用户名,'localhost’指定了用户可以从哪个主机连接到MySQL服务器(在这个例子中,用户只能从本地机器连接),'password’是用户的密码。

授予权限
使用GRANT语句给用户授予权限。例如,授予newuser用户对testdb数据库的所有权限:

GRANT ALL PRIVILEGES ON testdb.* TO 'newuser'@'localhost';

然后,执行FLUSH PRIVILEGES;语句来使权限更改立即生效(尽管在大多数情况下,GRANT语句会自动刷新权限)。

撤销权限
使用REVOKE语句撤销用户的权限。例如,撤销newuser用户对testdb数据库的SELECT权限:

REVOKE SELECT ON testdb.* FROM 'newuser'@'localhost';

删除用户
使用DROP USER语句删除用户:

DROP USER 'newuser'@'localhost';

八、备份与恢复

定期备份数据库是防止数据丢失的重要措施。MySQL提供了多种备份和恢复数据库的方法,包括使用mysqldump工具进行逻辑备份和恢复,以及使用二进制日志进行物理备份和基于时间点的恢复。

备份:使用mysqldump工具可以导出数据库或表的结构和数据到一个文件中,这个文件可以用于后续的数据库恢复。
恢复:将mysqldump导出的文件导入到MySQL服务器中,可以恢复数据库或表的结构和数据。

	以上介绍了MySQL数据库的基本操作,包括创建数据库和表、数据增删改查(CRUD)、
索引的创建与管理、用户与权限管理,以及数据库的备份与恢复。这些操作是MySQL数据
库管理的基础,掌握它们对于进行数据库开发和管理至关重要。

标签:语句,name,students,数据库,MySQL,基本操作,CREATE
From: https://blog.csdn.net/m0_63550220/article/details/141507077

相关文章

  • C连接MySQL
    #include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>#include<string.h>#include<mysql/mysql.h>#include<arpa/inet.h>#include<pthread.h>MYSQL*......
  • R 语言学习教程,从入门到精通,R MySQL 连接使用(21)
    1、RMySQL连接MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之一。R语言读写MySQL文件需要安装扩展包,我们可以在R到控制台输入以下命令来安装:install.packages("......
  • MySQL常见的面试题
    1、MySQL的复制原理以及流程(1)、复制基本原理流程1.主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;2.从:io线程——在使用startslave之后,负责从master上拉取binlog内容,放进自己的relaylog中;3.从:sql执行线程——执行relaylog中的语句;(2......
  • Linux完全卸载MySQL
    如何在Linux下卸载MySQL数据库呢?下面总结、整理了一下Linux平台下卸载MySQL的方法。MySQL的安装主要有三种方式:二进制包安装(UsingGenericBinaries)、RPM包安装、源码安装。 RPM包安装方式的MySQL卸载1:检查是否安装了MySQL组件。[[email protected]]#rpm-qa|gr......
  • MySQL修改密码
    第一种方式:最简单的方法就是借助第三方工具NavicatforMySQL来修改,方法如下:1、登录mysql到指定库,如:登录到test库。2、然后点击上方“用户”按钮。3、选择要更改的用户名,然后点击上方的“编辑用户”按钮。4、出现如图界面,输入新密码,并确认新密码,点击“保存”按钮即可。......
  • MySQL索引底层实现原理
    索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最......
  • 海康VisionMaster使用学习笔记11-VisionMaster基本操作
    VisionMaster基本操作VM示例方案1.工具拖拽及使用方式分别从采集和定位栏里拖拽图像源,快速匹配,Blob分析工具2.模块连线依次连线3.如何订阅点击快速匹配,可以看到输入源已订阅了图像1的图像,Blob分析类似4.方案操作及全局触发点击快速匹配,创建特征模版,框......
  • Go 编程-mysql数据库操作
    一、环境准备在Go语言中连接MySQL数据库通常使用database/sql包配合一个MySQL驱动,比如github.com/go-sql-driver/mysql安装github.com/go-sql-driver/mysqlgogetgithub.com/go-sql-driver/mysql二、连接及增删改查packagemainimport( "database/sql" "fmt" "log"......
  • docker部署mysql
    #创建主从数据库文件夹mkdir-p/usr/local/mysql/master1/confmkdir-p/usr/local/mysql/master1/datamkdir-p/usr/local/mysql/slave1/confmkdir-p/usr/local/mysql/slave1/data#初始化主数据库配置文件cd/usr/local/mysql/master1/confvimy.cnf#粘贴以下内容......
  • C# .NET CORE 面试题【Mysql篇】
    心之所向,勇往直前!简单归纳Mysql相关面试题正文1. MySql的索引有哪些? a.聚簇索引:主键,索引即数据b.非聚簇索引:索引和数据分开储存,检索到索引后需要回表查询数据  2. MySql的Myisam和Innodb有什么区别? a.Myisam不支持事务......