MySQL 数据库学习笔记(一)——MySQL基础知识及常用命令

MySQL 数据库学习笔记(一)——MySQL基础知识及常用命令

基础概念

DB、DBMS、SQL

  • DB:DataBase,数据库
  • DBMS:数据库管理系统,常见的有:
    – Oracle
    – MySQL
    – DB2
    – Sybase
    – MS SqlServer
  • SQL:结构化查询语言
    DBMS通过执行SQL语句,来操作DataBase中的数据

表(table)

表(table):是数据库的的基本组成单元,所有的数据都以表格的形式组织
一个表包括行和列:

  • 行:数据 / 记录(data
    – 包含字段名、数据类型、相关约束
  • 列:字段(column
学号(int)	姓名(varchar)	年龄(int)
--------------------------------------
210001			张三			19
210002			李四			18

SQL语句分类

  • DQL(数据查询语言):查询语句,select
  • DML(数据操作语言):对表中的数据进行增、删、改
  • DDL(数据定义语言):对表本身结构进行增、删、改
  • TCL(事务控制语言):commit提交事务,rollback回滚事务
  • DCL(数据控制语言):grant授权,revoke撤销权限

MySQL命令(DOS窗口)

登录

// 显式登录
mysql -uroot -p123456
// 隐式登录,-p后换行输入密码
mysql -uroot -p
******

查看数据库

// 语句
show databases;

// 演示
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.11 sec)

创建数据库

// 语句
create database plumpdudu;

// 演示
mysql> create database plumpdudu;
Query OK, 1 row affected (0.23 sec)

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

使用自己创建的数据库

// 语句
use plumpdudu;

// 演示
mysql> use plumpdudu;
Database changed

查看当前使用数据库中的表

// 语句
show tables;

// 演示
mysql> show tables;
Empty set (0.35 sec)

查看其他数据库中的表

// 语句
show tables from mysql;

// 演示
mysql> show tables from mysql;
+------------------------------------------------------+
| Tables_in_mysql                                      |
+------------------------------------------------------+
| columns_priv                                         |
| component                                            |
| db                                                   |
// 省略...
+------------------------------------------------------+
35 rows in set (0.09 sec)

查询当前使用的数据库

// 语句
select database();

// 演示
mysql> use plumpdudu;
Database changed

mysql> select database();
+------------+
| database() |
+------------+
| plumpdudu  |
+------------+
1 row in set (0.00 sec)

导入已有数据

// 语句,此句没有分号
source 本地路径\plumpdudu.sql

// 演示,路径懒得写可以将文件直接拖进来
mysql> source 本地路径\plumpdudu.sql

// 很尴尬,导不进去
mysql: Character set 'SMySQLsqlDataBaseplumpdudu.sql' is not a compiled character set and is not specified in the 'C:\Program Files\MySQL\MySQL Server 8.0\share\charsets\Index.xml' file
Charset is not found

折腾半天才知道,原来必须要先use plumpdudu使用这个数据库,然后再导入才能成功,我是直接在databases里导入的。嗯,我是伞兵。

// 重新演示
mysql> source E:\MySQL\sqlDataBase\plumpdudu.sql
Query OK, 0 rows affected, 1 warning (0.10 sec)
Query OK, 0 rows affected, 1 warning (0.02 sec)
Query OK, 0 rows affected, 1 warning (0.02 sec)
Query OK, 0 rows affected, 1 warning (0.76 sec)
Query OK, 0 rows affected, 5 warnings (0.48 sec)
// 省略......

mysql> show tables;
+---------------------+
| Tables_in_plumpdudu |
+---------------------+
| dept                |		// 部门
| emp                 |		// 员工
| salgrade            |		// 工资等级
+---------------------+
3 rows in set (0.00 sec)

查看表结构

// 语句
desc dept;

// 部门表
mysql> desc dept;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| DEPTNO | int         | NO   | PRI | NULL    |       |
| DNAME  | varchar(14) | YES  |     | NULL    |       |
| LOC    | varchar(13) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.15 sec)

// 员工表
mysql> desc emp;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| EMPNO    | int         | NO   | PRI | NULL    |       |
| ENAME    | varchar(10) | YES  |     | NULL    |       |
| JOB      | varchar(9)  | YES  |     | NULL    |       |
| MGR      | int         | YES  |     | NULL    |       |
| HIREDATE | date        | YES  |     | NULL    |       |
| SAL      | double(7,2) | YES  |     | NULL    |       |
| COMM     | double(7,2) | YES  |     | NULL    |       |
| DEPTNO   | int         | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
8 rows in set (0.00 sec)

// 工资等级表
mysql> desc salgrade;
+-------+------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------+------+-----+---------+-------+
| GRADE | int  | YES  |     | NULL    |       |
| LOSAL | int  | YES  |     | NULL    |       |
| HISAL | int  | YES  |     | NULL    |       |
+-------+------+------+-----+---------+-------+
3 rows in set (0.00 sec)

查看表的创建语句

// 语句
show create table dept;

// 演示
mysql> show create table dept;
+-------+---------------------------------------------------+
| Table | Create Table										|
+-------+---------------------------------------------------+
| dept  | CREATE TABLE `dept` (
  `DEPTNO` int NOT NULL,
  `DNAME` varchar(14) DEFAULT NULL,
  `LOC` varchar(13) DEFAULT NULL,
  PRIMARY KEY (`DEPTNO`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 |
+-------+---------------------------------------------------+
1 row in set (0.15 sec)

冷静删库

// 语句
drop database plumpdudu;

// 演示
mysql> drop database plumpdudu;
Query OK, 0 rows affected (0.28 sec)

mysql> show tables;
ERROR 1046 (3D000): No database selected

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

优雅跑路

// 语句
exit

// 演示
mysql> exit
Bye

恭喜你,学完了!(不是)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值