MySQL创建数据库和创建数据表

MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。

在这之前,需要先安装好 MySQL ,然后创建好数据库、数据表、操作用户。

一、创建数据库语法格式

我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下:

CREATE DATABASE [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>] 
[[DEFAULT] COLLATE <校对规则名>];

[ ]中的内容是可选的。语法说明如下:

  • <数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在 MySQL 中不区分大小写。
  • IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。
  • [DEFAULT] CHARACTER SET:指定数据库的字符集。指定字符集的目的是为了避免在数据库中存储的数据出现乱码的情况。如果在创建数据库时不指定字符集,那么就使用系统的默认字符集。
  • [DEFAULT] COLLATE:指定字符集的默认校对规则。

MySQL 的字符集(CHARACTER)和校对规则(COLLATION)是两个不同的概念。字符集是用来定义 MySQL 存储字符串的方式,校对规则定义了比较字符串的方式。

实例1:最简单的创建 MySQL 数据库的语句

在 MySQL 中创建一个名为 test的数据库。在 MySQL 命令行客户端输入 SQL 语句CREATE DATABASE test_db;即可创建一个数据库,输入的 SQL 语句与执行结果如下。

mysql> CREATE DATABASE test;
ERROR 1007 (HY000): Can't create database 'test'; database exists

“Query OK, 1 row affected (0.12 sec);”提示中,“Query OK”表示上面的命令执行成功,“1 row affected”表示操作只影响了数据库中一行的记录,“0.12 sec”则记录了操作执行的时间。

若再次输入CREATE DATABASE test_db;语句,则系统会给出错误提示信息,如下所示:

mysql> CREATE DATABASE IF NOT EXISTS test;
Query OK, 1 row affected (0.12 sec)

提示不能创建“test”数据库,数据库已存在。MySQL 不允许在同一系统下创建两个相同名称的数据库。

可以加上IF NOT EXISTS从句,就可以避免类似错误,如下所示:

mysql> CREATE DATABASE IF NOT EXISTS test;
Query OK, 1 row affected (0.12 sec)
实例2:创建 MySQL 数据库时指定字符集和校对规则

使用 MySQL 命令行工具创建一个测试数据库,命名为 test_char,指定其默认字符集为 utf8,默认校对规则为 utf8_chinese_ci(简体中文,不区分大小写),输入的 SQL 语句与执行结果如下所示:

mysql> CREATE DATABASE IF NOT EXISTS test_char-> DEFAULT CHARACTER SET utf8-> DEFAULT COLLATE utf8_chinese_ci;
Query OK, 1 row affected (0.03 sec)

这时,可以使用SHOW CREATE DATABASE查看 test_db_char 数据库的定义声明,发现该数据库的指定字符集为 utf8,运行结果如下所示:

mysql> SHOW CREATE DATABASE test_char;
+--------------+-----------------------------------------------------+
| Database     | Create Database                                     |
+--------------+-----------------------------------------------------+
| test_db_char | CREATE DATABASE `test_char` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+--------------+-----------------------------------------------------+
1 row in set (0.00 sec)

“1 row in set (0.00 sec)”表示集合中有 1 行信息,处理时间为 0.00秒。时间为 0.00 秒并不代表没有花费时间,而是时间非常短,小于 0.01 秒。

关于引擎:

INNODB 默认使用 , MYISAM早些年使用

引擎MYISAMINNODB
事务支持不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持
表空间大小较小较大,约为2倍

常规操作

  • MYISAM 节约空间,速度较快
  • INNODB 安全性高,事务的处理,多表多用户操作

 常用命令:

SHOW CREATE DATABASE school --查看创建数据库的语句
SHOW CREATE TABLE student --查看student数据表的定义语句
DESC student --查看表的结构
修改删除表:

修改:

ALTER TABLE teacher RENAME AS allteacher  --修改表名
ALTER TABLE allteacher ADD age INT(11)  --添加表的字段
--修改表的字段
ALTER TABLE allteacher MODIFY age VARCHAR(11)  --修改约束!
ALTER TABLE allteacher CHANGE age age1 INT(1)  --字段重命名!

删除:

ALTER TABLE teacher1 DROP age1 --删除表的字段
DROP TABLE if EXISTS teacher1 --删除表,如果表存在。

所有的删除操作尽量加上判断,以免报错。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/707729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SDWAN异地组网难在哪?怎么解决?

SD-WAN作为一种先进的网络技术&#xff0c;为企业提供了更加灵活和高效的网络连接方案。然而&#xff0c;在异地组网的过程中&#xff0c;SD-WAN也面临一些挑战。本文将探讨SD-WAN异地组网所面临的难题&#xff0c;并提供相应的解决方案。 挑战一&#xff1a;网络延迟和不稳定性…

Jupyter Notebook 下载+简单设置

这里写目录标题 1. Jupyter Notebook安装2.切换打开别的盘3. 创建代码文件4.为jupyter notebook添加目录 (Jupyter安装拓展nbextensions)step1&#xff1a;安装命令step2&#xff1a;用户配置step3&#xff1a;上述过程均完成后&#xff0c;打开jupyter notebook就会发现界面多…

常见的socket函数封装和多进程和多线程实现服务器并发

常见的socket函数封装和多进程和多线程实现服务器并发 1.常见的socket函数封装2.多进程和多线程实现服务器的并发2.1多进程服务器2.2多线程服务器2.3运行效果 1.常见的socket函数封装 accept函数或者read函数是阻塞函数&#xff0c;会被信号打断&#xff0c;我们不能让它停止&a…

什么是服务级别协议(SLA)?

在数字化时代&#xff0c;企业和服务提供商之间的关系变得越来越复杂&#xff0c;而服务级别协议&#xff08;SLA&#xff09;则在这个复杂网络中发挥着至关重要的作用。本文将深入介绍SLA&#xff0c;从它的定义、应用场景到监测方法&#xff0c;全方位解析这一法律桥梁如何确…

哪里申请EV代码签名证书?

EV代码签名证书是一种高级别的数字证书&#xff0c;它通过严格的验证流程&#xff0c;确保软件发布者身份的真实性和可信度。相较于普通代码签名证书&#xff0c;EV证书采用了更严格的验证标准&#xff0c;包括对企业身份、法律地位、组织结构多个方面的核实。这使得EV证书成为…

【Docker】【Nacos】单机部署

【Docker】【Nacos】单机部署 背景介绍环境步骤总结背景 因国内访问 Docker Hub 极不稳定,因此总结整理出本文,以便后续需要时方便查看。 介绍 本文介绍Docker安装Nacos并实现单机模式部署的方法及步骤。 环境 分类名称版本操作系统WindowsWindows 11DockerDocker Engine…

06 Qt自绘组件:Switch动画开关组件

系列文章目录 01 Qt自定义风格控件的基本原则-CSDN博客 02 从QLabel聊起&#xff1a;自定义控件扩展-图片控件-CSDN博客 03 从QLabel聊起&#xff1a;自定义控件扩展-文本控件-CSDN博客 04 自定义Button组件&#xff1a;令人抓狂的QToolButton文本图标居中问题-CSDN博客 0…

js中的任务处理机制

众所周知(不知道的话去查)&#xff0c;js是以单线程的方式执行的&#xff0c;在执行的过程中&#xff0c;某一时刻上只能执行一个任务&#xff0c;也就是说&#xff0c;我们写好了代码后执行的时候&#xff0c;程序是根据代码从上到下依次排队执行&#xff0c;只有上一个任务执…

数据分析案例-社交媒体情绪数据集可视化分析(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

进程的控制

文章目录 进程退出进程等待进程程序替换 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 人工智能学习网站&#xff0c; 通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 点击跳转到网站。 进程退出 进程的退出一共有三种场景。 程序跑完…

了解 Go 中原子操作的重要性与使用方法

引言 并发是现代软件开发的一个基本方面&#xff0c;而在 Go 中编写并发程序相对来说是一个相对轻松的任务&#xff0c;这要归功于其强大的并发支持。 Go 提供了对原子操作的内置支持&#xff0c;这在同步并发程序中起着至关重要的作用。在本篇博客文章中&#xff0c;我们将探…

别再让机会从指缝间溜走!社科院与杜兰大学金融管理硕士一同开创你的成功之路

新的一年&#xff0c;你的读研计划进行到哪个环节了呢&#xff1f;咨询社科院与杜兰大学金融管理硕士项目中&#xff0c;总听到有同学说&#xff0c;不着急&#xff0c;我先了解一下。你不知道是时间总是在指缝间溜走。别让犹豫成了我们前进的阻碍&#xff0c;马上行动早日遇到…

基于Springboot的计算机知识竞赛网站(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的计算机知识竞赛网站&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结…

通过一个例子演示golang调用C语言动态链接库中的函数

本例提供了cgo调用C函数的示例&#xff0c;也演示了如何将C函数打印内容保存到golang的变量中 目录和源码 目录结构 adminhpc-1:~/go/my_stdout$ tree . ├── include │ ├── mylibrary.c │ └── mylibrary.h ├── lib └── main.go2 directories, 3 files a…

产品老化试验目的、用途

什么是老化试验&#xff1f; 老化试验是通过模拟产品在使用过程中的老化情况&#xff0c;来评估产品在长期使用后的性能和可靠性。这种测试可以帮助制造商了解产品的寿命和耐久性&#xff0c;以及产品在不同环境条件下的表现。 模拟量采集/老化房采集软件 为什么需要进行老化试…

智慧公厕:让城市更智慧、更环保

在现代社会&#xff0c;智慧公厕作为城市管理的重要一环&#xff0c;是智慧城市的重要组成部分&#xff0c;其建设的价值十出突出&#xff0c;是公共厕所信息化升级改造的核心方案。如智慧公厕源头厂家广州中期科技有限公司&#xff0c;所自主研发的智慧公厕整体解决方案&#…

【HarmonyOS】鸿蒙开发之Video组件——第3.7章

Video组件内VideoOptions属性简介 src&#xff1a;设置视频地址。currentProgressRate&#xff1a;设置视频播放倍速&#xff0c;参数说明如下&#xff1a; number|string&#xff1a;只支持 0.75 &#xff0c; 1.0 &#xff0c; 1.25 &#xff0c; 1.75 &#xff0c; 2.0 。P…

安装 docker 可视化工具 portainer

portainer 官方网站 https://www.portainer.io/ 一、portainer 介绍 Portainer是一款开源的容器管理平台&#xff0c;它提供了一个直观易用的Web界面&#xff0c;帮助用户管理Docker容器集群、镜像、卷等资源。Portainer 支持多种 Docker 环境&#xff0c;包括本地Docker、Sw…

智能手表的革命性突破:TRIZ理论引领未来穿戴技术!

在科技日新月异的今天&#xff0c;智能手表已经从单纯的计时工具转变为集健康监测、信息通讯、娱乐休闲等多功能于一体的智能穿戴设备。而基于TRIZ理论的智能手表更是在这一变革中扮演着引领者的角色。TRIZ&#xff0c;即发明问题解决理论&#xff0c;是一套系统的创新方法学&a…

vue实现文件上传的功能

随着Web应用的发展&#xff0c;文件上传功能已经变得越来越常见。vue是一种流行的JavaScript框架&#xff0c;提供了便捷的方式来构建现代化的Web应用程序。在vue中&#xff0c;可以通过使用vue的Upload组件来实现文件上传功能。以下介绍如何使用vue来实现文件上传功能。 首先…