MySQL的基础用法一

数据库的操作

对库的操作

SQL通用语法规则介绍

创建数据库

使用数据库

查询所有数据库

查询当前数据库

删除数据库

对库中表的操作

创建一个表

查询当前数据库所有表

查询表结构

查询指定表的建表语句


🚘🚘🚘正片开始

SQL通用语法规则介绍

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

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

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

  4. 注释:

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

创建数据库语法

sql 复制代码
create database [if not exists] 数据库名 [default 字符集][collate 排序规则];

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

创建数据库展示效果

sql 复制代码
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数据库已存在时我们再次创建则会怎么样呢?让我们来试试。

sql 复制代码
mysql> create database test;
ERROR 1007 (HY000): Can't create database 'test'; database exists
mysql>

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

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

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

mysql>

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

使用数据库语法

sql 复制代码
use 数据库名;

展示效果

sql 复制代码
mysql> use test;
Database changed
mysql>

查询所有数据库语法

sql 复制代码
show databases;

效果展示

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

mysql>

查询当前所处数据库语法

sql 复制代码
select database();

展示效果

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

mysql>

删除数据库语法

sql 复制代码
drop database [if exists] 数据库名;

展示效果

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

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

执行删除语句

sql 复制代码
#test删除成功

mysql> drop database test;
Query OK, 0 rows affected (0.01 sec)

mysql>

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

sql 复制代码
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 数据库名;这条语句删数据库时 则有该数据库则删除,无则不删,更有安全保障。

创建一个表的语法

sql 复制代码
create table 表名(
		字段1 字段1的类型[comment 字段1的注释],
		字段2 字段2的类型[comment 字段2的注释],
		字段3 字段3的类型[comment 字段3的注释],
		字段4 字段4的类型[comment 字段4的注释],
		.....................................................................
		字段n 字段n的类型[comment 字段n的注释]
)[comment 表注释];

展示效果

sql 复制代码
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>

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

sql 复制代码
show tables;

展示效果

sql 复制代码
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| mytable        | #mytable 已经创建出来了
+----------------+
1 row in set (0.00 sec)

mysql> select database();

查询表结构的语法

sql 复制代码
desc mytable;
sql 复制代码
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>

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

sql 复制代码
show create table mytable;

展示效果

sql 复制代码
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

完结🎉🎉🎉

相关推荐
韩立学长8 小时前
【开题答辩实录分享】以《自助游网站的设计与实现》为例进行选题答辩实录分享
java·mysql·spring
SAP小崔说事儿8 小时前
在数据库中将字符串拆分成表单(SQL和HANA版本)
java·数据库·sql·sap·hana·字符串拆分·无锡sap
川贝枇杷膏cbppg9 小时前
asmcmd
数据库·oracle
JIngJaneIL10 小时前
基于java+ vue助农电商系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
q_191328469510 小时前
基于Springboot+MySQL+RuoYi的会议室预约管理系统
java·vue.js·spring boot·后端·mysql·若依·计算机毕业设计
IndulgeCui10 小时前
基于CentOS7 DM8单机部署配置记录-20251216
数据库
surtr110 小时前
关系代数与关系型数据库
数据库·sql·数据库系统
学海_无涯_苦作舟10 小时前
MySQL面试题
数据库·mysql·面试
老邓计算机毕设10 小时前
SSM校内二手书籍交易系统的设计与实现an1k0(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·ssm 框架开发·ssm 校内二手书籍交易系统
天行健,君子而铎11 小时前
高性能、可控、多架构:教育行业数据库风险监测一体化解决方案
数据库·架构