MySQL数据库学习笔记(1)

本文介绍了MySQL数据库的基本概念,包括数据库、数据库管理系统(DBMS)和SQL语言的定义。详细讲解了MySQL的特点,安装配置方法,以及基本的数据库操作命令,适合初学者快速上手。

MySql数据库

一、数据库基本概念

1.1 数据库组成

DB

数据库( database ):存储数据的“仓库”。它保存了一系列有组织的数据。

DBMS

数据库管理系统( Database Management System )。数据库是通过 DBMS 创建和操作的容器

SQL

结构化查询语言( Structure Query Language ):专门用来与数据库通信的语言。

image-20210304195159778

1.2 数据库存储数据的特点

  • 将数据放到表中,表再放到库中

  • 一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性

  • 表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。

  • 表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java 中的”属性”

  • 表中的数据是按行存储的,每一行类似于java中的“对象”

列,字段
属性对象

1.3 MySQL介绍

MySQL是一种开放源代码的关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.目前 MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开源这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库(Facebook, Twitter, YouTube)。阿里提出“去IOE”,更多网站也开始选择MySQL。

  • 成本低:开放源代码,一般可以免费试用
  • 性能高:执行很快
  • 简单:很容易安装和使用

1.4 Linux下安装mysql及其GUI(mysql workbench )

mysql参考链接

workbench

需要注意 MySQL 5.7及更高版本不支持以“ root”身份进行连接,mysql-workbench因此您必须创建一个普通用户并通过该用户进行连接。

1.4.1 初始使用

登录root用户

sudo mysql -u root -p

在root用户下新建一个普通用户

CREATE USER 'usernamexxx'@'hostxxx' IDENTIFIED BY 'passwordxxx';
  • hostxxx:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%如CREATE USER 'rose'@'%' IDENTIFIED BY '123456';

    若为本地主机 则为localhost

  • passwordxxx:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

创建用户后,该用户只能连接到数据库服务器,但并没有操作该数据库服务器的权限。

授权如下:

GRANT privilegesxxx ON databasenamexxx.tablenamexxx TO 'usernamexxx'@'hostxxx'
  • privilegesxxx:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL

  • databasenamexxx:数据库名

  • tablenamexxx:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如 *.*

GRANT ALL ON *.* TO 'usernamexxx'@'hostxxx' 

上句表示赋予主机hostxxx上的用户usernamexxx对所有数据库及表的操作权限

1.4.2 登录普通用户进行学习使用

  1. 登录之前新建的普通用户admin:

    mysql -u admin -p
    
  2. 显示所有数据库:

    show databases;
    

    image-20210304205501399

    图中显示当前有4个数据库

  3. 假设使用数据库mysql并显示该数据库内的所有表:

    use mysql;
    show tables;
    

    image-20210304205627703

    此时便在数据库mysql中了,若想显示其他数据库中的表,则可用:

    show tables from sys;
    

    image-20210304205908421

    显示当前处在哪个数据库当中:

    select database();
    

    image-20210304210218081

    5.基本的增删改查

    在当前所处的数据库中创建一个表stuinfo后并显示该表

    create table stuinfo(stuid int,stuname varchar(20),gender char,borndate datetime);
    desc stuinfo
    

    image-20210304210455892

    image-20210304210522562

    查询表中数据:

    select * from stuinfo;
    

    image-20210304212229248

    此时为空表,则向表中插入一条数据:

    insert into stuinfo values(1,'y查c','男','1000-3-1');
    

    image-20210304212406637

    若出现中文编码错误 则可用set names utf8;set names gbk;

    再插入一条:

    insert into stuinfo values(2,'6y','男','1000-3-2');
    

    image-20210304212526696

    查询此时表中的数据:

    select * from stuinfo;
    

    image-20210304212615028

    更改表中的stuid=2的那条数据:

    update stuinfo set borndate = '1900-1-1' where stuid = 2;
    select * from stuinfo;
    

    image-20210304212852229

    删除stuid=2的那条数据

    delete from stuinfo where stuid = 2;
    select * from stuinfo;
    

    image-20210304213012814

    对表增加一列属性:

    desc stuinfo;
    alter table stuinfo add column email varchar(20);
    

    image-20210304213141516

    删除表stuinfo:

    drop table stuinfo;
    

    退出数据库

    exit;
    

    image-20210304213317266
    未完待续…

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值