1.1 MySQL基础-基础介绍

本单元目标

1. 基础介绍

1. 数据库的好处

1.持久化数据到本地
2.可以实现结构化查询,方便管理

2. 数据库相关概念:DBMS、DB、SQL

1、DB:数据库,保存一组有组织的数据的容器
2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据
3、SQL:结构化查询语言,用于和DBMS通信的语言

3. 数据库存储数据的特点

1、将数据放到表中,表再放到库中
2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。
3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。
4、表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java 中的”属性”
5、表中的数据是按行存储的,每一行类似于java中的“对象”。

4. 初始MySQL

4.1 MySQL产品的介绍和安装

配置环境变量:C:\Program Files\MySQL\MySQL Server 8.0\bin 复制到环境变量Path

4.2 MySQL服务的启动和停止

方式一:计算机——右击管理——服务
方式二:通过管理员身份运行cmd
-  net start 服务名(启动服务)
-  net stop 服务名(停止服务)
net start MySQL80;
net stop MySQL80;

4.3 MySQL服务的登录和退出

方式一:通过mysql自带的客户端
只限于root用户

在这里插入图片描述

方式二:通过windows自带的客户端
登录:
mysql 【-h主机名 -P端口号 】-u用户名 -p密码

退出:
exit或ctrl+C	

4.4 MySQL的常见命令

查看当前所有的数据库

show databases;

+--------------------+
| Database           |
+--------------------+
| bank               |
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| test_db            |
| world              |
+--------------------+
# 前三个不能动哦
8 rows in set (0.01 sec)

打开指定的库

use test_db

Database changed

查看当前库的所有表

show tables;

+-------------------+
| Tables_in_test_db |
+-------------------+
| branch_info       |
| customer_info     |
| sales_info        |
| worker_info       |
+-------------------+
4 rows in set (0.01 sec)

查看其它库的所有表

show tables from 库名;
show tables from mysql
# 但现在还是在test_db中,并未出去
+----------------------------------------------+
| Tables_in_mysql                              |
+----------------------------------------------+
| columns_priv                                 |
| component                                    |
| db                                           |
| default_roles                                |
| engine_cost                                  |
| func                                         |
| general_log                                  |
| global_grants                                |
| gtid_executed                                |
| help_category                                |
| help_keyword                                 |
| help_relation                                |
| help_topic                                   |
| innodb_index_stats                           |
| innodb_table_stats                           |
| password_history                             |
| plugin                                       |
| procs_priv                                   |
| proxies_priv                                 |
| replication_asynchronous_connection_failover |
| role_edges                                   |
| server_cost                                  |
| servers                                      |
| slave_master_info                            |
| slave_relay_log_info                         |
| slave_worker_info                            |
| slow_log                                     |
| tables_priv                                  |
| time_zone                                    |
| time_zone_leap_second                        |
| time_zone_name                               |
| time_zone_transition                         |
| time_zone_transition_type                    |
| user                                         |
+----------------------------------------------+
34 rows in set (0.01 sec)

查看自己现在哪个库

select  database();
+------------+
| database() |
+------------+
| test_db    |
+------------+
1 row in set (0.00 sec)

创建表

create table 表名(

		列名 列类型,
		列名 列类型,
		。。。
	);
mysql> create table stuinfo(
    -> id int,
    -> name varchar(20));
-------------------------------
Query OK, 0 rows affected (0.07 sec)

show tables;
--------------------------------------------------------
+-------------------+
| Tables_in_test_db |
+-------------------+
| branch_info       |
| customer_info     |
| sales_info        |
| stuinfo           |
| worker_info       |
+-------------------+
5 rows in set (0.00 sec)
---------------------------------------------------------------------------
desc stuinfo;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int         | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
# 查看具体数据
select * from stuinfo;
Empty set (0.01 sec)
# 插入数据
insert into stuinfo (id,name) values(1,'john');

Query OK, 1 row affected (0.01 sec)

insert into stuinfo (id,name) values(2,'rose');
Query OK, 1 row affected (0.01 sec)
# 按上建切换之前的历史语句
select * from stuinfo;
+------+------+
| id   | name |
+------+------+
|    1 | john |
|    2 | rose |
+------+------+

# 更改数据
update stuinfo set name='lilei' where id=1;

Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from stuinfo;

+------+-------+
| id   | name  |
+------+-------+
|    1 | lilei |
|    2 | rose  |
+------+-------+
# 删除某一列数据
delete from stuinfo where id=1;

Query OK, 1 row affected (0.01 sec)

select * from stuinfo;
+------+------+
| id   | name |
+------+------+
|    2 | rose |
+------+------+
1 row in set (0.01 sec)

查看表结构

desc 表名;

查看服务器的版本

方式一:登录到mysql服务端
select version();
+-----------+
| version() |
+-----------+
| 8.0.22    |
+-----------+
方式二:没有登录到mysql服务端	
mysql --version
或
mysql --V

4.5 MySQL的语法规范

1.不区分大小写,但建议**关键字大写,表名、列名小写**
2.每条命令最好用分号结尾
3.每条命令根据需要,可以进行缩进或换行
4.注释
	单行注释:#注释文字
	单行注释:-- 注释文字(注意要加空格)
	多行注释:/* 注释文字  */

4.6 SQL的语言分类

  • DQL(Data Query Language):数据查询语言
    select
  • DML(Data Manipulate Language) : 数据操作语言
    insert 、update、delete
  • DDL(Data Define Languge):数据定义语言
    create、drop、alter
  • TCL(Transaction Control Language):事务控制语言
    commit、rollback

4.7 SQL的常见命令

show databases; 查看所有的数据库
use 库名; 打开指定 的库
show tables ; 显示库中的所有表
show tables from 库名;显示指定库中的所有表
创建表

`create table 表名(
		字段名 字段类型,	
		字段名 字段类型
	); 

desc 表名; 查看指定表的结构
select * from 表名;显示表中的所有数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值