MySQL的基础用法一

server/2024/9/30 4:11:14/

数据库的操作

对库的操作

对库中表的操作


🚘🚘🚘正片开始

SQL通用语法规则介绍

  1. SQL语句可以单行或多行书写,以分号结尾。

  2. SQL语句可以使用空格和缩进来增强语句的可读性。

  3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写,但没强制规定。

  4. 注释:

    • 单行注释:-- + 注释内容 或者 # +注释内容(MySQL特有)
    • 多行注释:/* 注释内容 */

创建数据库语法

create database [if not exists] 数据库[default 字符集][collate 排序规则];

注:使用上述语法时,[ ] 中的语法可以省略不写

创建数据库展示效果

mysql> create database test;
Query OK, 1 row affected (0.01 sec)mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| my_db              |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
6 rows in set (0.00 sec)mysql>

当test数据库已存在时我们再次创建则会怎么样呢?让我们来试试。

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

可以看见它反馈的结果是说不能创建数据库数据库已存在

不妨我们使用一下 if not exists 这个看看

mysql> create database if not exists test;
Query OK, 1 row affected, 1 warning (0.01 sec)mysql>

现在没有报错了,只是出现了个警告,在创建数据库时,当加上这个if not exists 则系统会检测你当前库中是否有同名的test数据库如果有则不创建,没有则创建。

使用数据库语法

use 数据库;

展示效果

mysql> use test;
Database changed
mysql>

查询所有数据库语法

show databases;

效果展示

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| my_db              |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
6 rows in set (0.00 sec)mysql>

查询当前所处数据库语法

select database();

展示效果

mysql> select database();
+------------+
| database() |
+------------+
| test       |  #当前处于test数据库
+------------+
1 row in set (0.00 sec)mysql>

删除数据库语法

drop database [if exists] 数据库;

展示效果

删除前该库中是有test数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| my_db              |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
6 rows in set (0.00 sec)
mysql>

执行删除语句

#test删除成功mysql> drop database test;
Query OK, 0 rows affected (0.01 sec)mysql>

再次查看数据库中是否有test库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| my_db              |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)mysql>

可以看见已经没有了

当使用 drop database if not exists 数据库名;这条语句删数据库时 则有该数据库则删除,无则不删,更有安全保障。

创建一个表的语法

create table 表名(字段1 字段1的类型[comment 字段1的注释],字段2 字段2的类型[comment 字段2的注释],字段3 字段3的类型[comment 字段3的注释],字段4 字段4的类型[comment 字段4的注释],……………………………………………………………字段n 字段n的类型[comment 字段n的注释]
)[comment 表注释];

展示效果

mysql> create table mytable(->     id tinyint comment '编号',->     name varchar(5) comment '名字',->     age tinyint comment '年龄',->     address  varchar(15) comment '地址',->     tel  char(11) comment '电话'-> );
Query OK, 0 rows affected (0.03 sec)mysql>

查询当前数据库所有表的语法

show tables;

展示效果

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| mytable        | #mytable 已经创建出来了
+----------------+
1 row in set (0.00 sec)mysql> select database();

查询表结构的语法

desc mytable;
mysql> desc mytable;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id      | tinyint     | YES  |     | NULL    |       |
| name    | varchar(5)  | YES  |     | NULL    |       |
| age     | tinyint     | YES  |     | NULL    |       |
| address | varchar(15) | YES  |     | NULL    |       |
| tel     | char(11)    | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)mysql>

查询指定表的建表语句的语法

show create table mytable;

展示效果

mysql> show create table mytable;
CREATE TABLE `mytable` (`id` tinyint DEFAULT NULL COMMENT '编号',`name` varchar(5) DEFAULT NULL COMMENT '名字',`age` tinyint DEFAULT NULL COMMENT '年龄',`address` varchar(15) DEFAULT NULL COMMENT '地址',`tel` char(11) DEFAULT NULL COMMENT '电话'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

完结🎉🎉🎉


http://www.ppmy.cn/server/124793.html

相关文章

第三十八条:使用接口模拟可扩展的枚举

在大多数情况下,事实证明扩展枚举枚举并不是好注意。如果一个扩展类型的元素是基本类型的实例,但反过来不成立,这会令人困惑。要枚举基类型以及其扩展类型的所有元素,也没有很好的办法。最后,可扩展性会让设计和实现的…

四款视频剪辑工具使用感受与推荐:

大家好!今天咱们来聊聊视频剪辑工具。随着短视频的火热,越来越多的小伙伴开始涉足视频剪辑领域,那到底哪款工具更适合你呢?接下来,就让我为大家分享一下我使用过的几款视频剪辑工具的体验和感受吧! 一、福昕…

华为为什么要做三折叠屏手机?

前些天我做了一条视频,关于讲华W的新的三折叠屏手机。我说我有点失望,结果引起了华W的同事的一些关注。于是,华W几位高管都跑过来,跟我解释为什么会出现这样的一个状态。 我才知道,这款手机他们其实是亏着钱在卖的。因…

python学习-13【网络编程】

1、Socket 网络模块 Socket 模块 在 Python 中,使用 socket 模块的 socket() 函数来创建一个 socket 对象: socket.socket(family, type, proto) family:套接字家族,该参数指定调用者期待返回的套接字接口地址结构的类型 AF_UNIX…

【湖南步联科技身份证】 身份证读取与酒店收银系统源码整合———未来之窗行业应用跨平台架构

一、html5 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><script type"text/javascript" src"http://51.onelink.ynwlzc.net/o2o/tpl/Merchant/static/js…

数据结构:栈 及其应用

逻辑结构&#xff1a; 栈&#xff08;Stack&#xff09;是一种遵循后进先出&#xff08;LIFO, Last In First Out&#xff09;原则的有序集合 &#xff08;受限的线性表&#xff09;。这种数据结构只允许在栈顶进行添加&#xff08;push&#xff09;或删除&#xff08;pop&…

2024全网最为详细的红帽系列【RHCSA-(6)】初级及进阶Linux保姆级别骚操作教程;学不费来砍我[就怕你日后学成黑客了]

欢迎各位彦祖与热巴畅游本人专栏与博客 你的三连是我最大的动力 以下图片仅代表专栏特色 专栏跑道一 ➡️ MYSQL REDIS Advance operation 专栏跑道二➡️ 24 Network Security -LJS ​ ​ ​ 专栏跑道三 ➡️HCIP&#xff1b;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]…

探索词向量的奥秘:自然语言处理的基石

在自然语言处理&#xff08;NLP&#xff09;的浩瀚星空中&#xff0c;词向量&#xff08;Word Embeddings&#xff09;无疑是一颗璀璨夺目的星辰&#xff0c;它不仅为文本数据的表示提供了全新的视角&#xff0c;更是推动了整个NLP领域向前迈出了一大步。今天&#xff0c;就让我…