MySQL基础学习01

MySQL基础-01

基本概念:

数据库:按照数据结构来组织、存储和管理数据的仓库。

数据库用于记录数据,使用数据库记录数据可以表现出各种数据间的联系,也可以很方便地对所记录的数据进行增、删、改、查等操作。

SQL:结构化查询语言(Structured Query Language)的简称,是一门用于对数据库进行操作的语言。

更详细地说,SQL 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。

MySQL: 一个 DBMS(数据库管理系统)。MySQL 是最流行的关系型数据库管理系统(关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据)。MySQL 使用 SQL 语言进行操作。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发者都选择 MySQL 作为网站数据库。

常见的概念混淆

人们通常用数据库这个术语来代表他们使用的数据库软件。这是不正确的,它是引起混淆的根源。确切地说,数据库软件应称为DBMS(数据库管理系统)。数据库是通过DBMS创建和操纵的容器。数据库可以是保存在硬设备上的文件,但也可以不是。在很大程度上说,数据库究竟是文件还是别的什么东西并不重要,因为你并不直接访问数据库;你使用的是DBMS,它替你访问数据库

简单上手操作MySQL

登录

显式登录

MySQL -uroot -padmin123

在cmd命令行中输入以上命令,-u(username)后面代表你的用户名,默认为root,-p(password)后面紧跟的是你对应的密码,此处的admin123为我的密码,实际操作时应该换成你自己的密码

隐式登录

MySQL -uroot -p

输入这条命令后,会要求你输入密码,此时的密码会用*代替,安全性更好

Enter password: ********

对应的成功登录与失败登录如下:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.31 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
退出
exit
展示数据库
show databases;

注意:分号不能省略!

+--------------------+
| Database           |
+--------------------+
| information_schema |
| my_db_01           |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.02 sec)
创建数据库
create database test;

创建成功:

Query OK, 1 row affected (0.02 sec)

再次查询展示一下数据库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| my_db_01           |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
6 rows in set (0.00 sec)
使用某个数据库
use 数据库名
# 例如:
use my_db_01
# 成功切换结果
Database changed
查看MySQL数据库的版本号
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.31    |
+-----------+
1 row in set (0.00 sec)
查看当前使用的是哪个数据库
mysql> select database();
+------------+
| database() |
+------------+
| my_db_01   |
+------------+
1 row in set (0.00 sec)

注意:()和;都不能省略,否则会报错

MySQL语句可以分几行执行
mysql> show
    -> databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| my_db_01           |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
6 rows in set (0.00 sec)

以上面这个为例:mysql语句一直遇见分号才执行,上述操作等同于 show databases;

那假如输到一半我们不想继续执行了怎么办呢?

可以通过输入\c或者是ctrl+c来退出。

mysql>  show
    -> \c
mysql>

数据库中最基本的单元是:(table)

表中的行被称为数据/记录,表中的列被称为字段(具有字段名,数据类型,约束等属性)

比如

姓名性别年龄
张三20
李四18

以上表中年龄这个字段为例,字段名就是年龄,数据类型肯定是个number整数

约束:姓名或者id往往不能重复,因为这些字段大概率是表的主键(这个概念后面再说)

查看数据库下的表
show tables;	
# 结果
+--------------------+
| Tables_in_my_db_01 |
+--------------------+
| ev_article_cate    |
| ev_articles        |
| ev_users           |
+--------------------+
3 rows in set (0.03 sec)

SQL

SQL的分类

SQL语句有很多,可以从它们的简写猜测它们的具体含义:

  • DQL Q->query 数据查询语言 (凡是带有select关键字的都是查询语句)

    select …

  • DML M->manage 数据操作语言 (凡是对表中的数据进行增删改的都是DML)

    insert 增

    delete 删

    update 改

  • DDL D->define 数据定义语言 (凡是带有,create、drop、alter的都是DDL)

    DDL主要操作的是表的结构,而不是表中的数据

  • TCL 事务控制语言

    commit 事务提交

    rollback 事务回滚

  • DCL 数据控制语言

    grant 授权

    revoke 撤销权限

具体的SQL语句操作

之前学nodejs的时候建了几张表,就将就以前的来操作一下,主要是复习一下SQL语句的操作

查询表中所有数据
mysql> select * from ev_article_cate;
+----+------+-------+-----------+
| id | name | alias | is_delete |
+----+------+-------+-----------+
|  1 | 科学 | sci   |         0 |
|  2 | 历史 | lishi |         0 |
|  3 | 数学 | math  |         0 |
+----+------+-------+-----------+
3 rows in set (0.01 sec)

select代表查询,*代表所有

查看表的结构:
mysql> desc ev_article_cate;
+-----------+--------------+------+-----+---------+----------------+
| Field     | Type         | Null | Key | Default | Extra          |
+-----------+--------------+------+-----+---------+----------------+
| id        | int          | NO   | PRI | NULL    | auto_increment |
| name      | varchar(255) | NO   | UNI | NULL    |                |
| alias     | varchar(255) | NO   | UNI | NULL    |                |
| is_delete | tinyint(1)   | NO   |     | 0       |                |
+-----------+--------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
# 第二种写法
mysql> show columns from tablename

desc是查询表的结构,desc是describe的缩写,该表中有各个字段的字段名、数据类型、约束等等。

其他

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值