• MySQL数据库学习一


    MySQL数据库学习一

    了解、安装和使用数据库

    数据库的简介

    数据库

    ​ 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的
    数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。
    数据库管理系统软件
    ​ 数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用
    和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户
    通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程
    序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分DBMS提供数据定义语
    言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定
    义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。
    ​ 数据库管理系统是数据库系统的核心,是管理数据库的软件。数据库管理系统就是实现把用户意义下抽象
    的逻辑数据处理,转换成为计算机中具体的物理数据处理的软件。有了数据库管理系统,用户就可以在抽
    象意义下处理数据,而不必顾及这些数据在计算机中的布局和物理位置。

    常见的数据库管理软件:甲骨文的oracle,IBM的db2,sql server, Access,Mysql(开源,免费,跨平台).

    数据库系统

    ​ 数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。其软件主要
    包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数
    据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,
    使数据能被任何有权使用的人有效使用。

    image-20200527104423919

    mysql

    mysql的管理

    安装
    linux:
    --yum -y install mariadb mariadb-server
    OR
    --yum -y install mysql mysql-server
    win:
    --http://dev.mysql.com/downloads/mysql/
    启动
    --service mysqld start #开启
    --chkconfig mysqld on #设置开机自启
    OR
    --systemctl start mariadb
    --systemctl enable mariadb
    查看
    -- ps aux |grep mysqld #查看进程
    -- netstat -an |grep 3306 #查看端口
    设置密码
    -- mysqladmin -uroot password '123' #设置初始密码,初始密码为空因此-p选项没有用
    -- mysqladmin -u root -p123 password '1234' #修改root用户密码
    登录
    -- mysql #本地登录,默认用户root,空密码,用户为root@127.0.0.1
    -- mysql -uroot -p1234 #本地登录,指定用户名和密码,用户为root@127.0.0.1
    -- mysql -uroot -p1234 -h 192.168.31.95 #远程登录,用户为root@192.168.31.95

    mysql的常用命令

    启动mysql服务与停止mysql服务命令:

    -- net start mysql

    -- net stop mysql

    --

    -- 登陆与退出命令:

    -- mysql -h 服务器IP -P 端口号 -u 用户名 -p 密码 --prompt 命令提示符 --delimiter 指定分隔符
    -- mysql -h 127.0.0.1 -P 3306 -uroot -p123

    -- quit------exit----q;

    --

    -- s; ------my.ini文件:[mysql] default-character-set=gbk [mysqld] character-set-server=gbk

    -- prompt 命令提示符(D:当前日期 d:当前数据库 u:当前用户)

    -- T(开始日志) (结束日志)

    -- show warnings;

    -- help() ? h
    -- G;

    -- select now();

    -- select version(); -- select user;
    -- c 取消命令

    -- delimiter 指定分隔符

    忘记密码怎么办?

    方法1:启动mysql时,跳过授权表

    [root@controller ~]# service mysqld stop
    [root@controller ~]# mysqld_safe --skip-grant-table &
    [root@controller ~]# mysql
    mysql> select user,host,password from mysql.user;
    +----------+-----------------------+-------------------------------------------+
    | user | host | password |
    +----------+-----------------------+-------------------------------------------+
    | root | localhost | *A4B6157319038724E3560894F7F932C8886EBFCF |
    | root | localhost.localdomain | |
    | root | 127.0.0.1 | |
    | root | ::1 | |
    | | localhost | |
    | | localhost.localdomain | |
    | root | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
    +----------+-----------------------+-------------------------------------------+
    mysql> update mysql.user set password=password("123") where user="root" and host="localhost";

    mysql> flush privileges;
    mysql> exit
    [root@controller ~]# service mysqld restart
    [root@controller ~]# mysql -uroot -p123

    方法2(删库):

    删除与权限相关的库mysql,所有的授权信息都丢失,主要用于测试数据库或者刚刚建库不久没有授权数据的情况(从删库到跑
    路)
    [root@controller ~]# rm -rf /var/lib/mysql/mysql
    [root@controller ~]# service mysqld restart
    [root@controller ~]# mysql

    sql及其规范

    ​ sql是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是
    一种功能齐全的数据库语言。
    ​ 在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使
    用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持sql。
    ​ <1> 在数据库系统中,SQL语句不区分大小写(建议用大写) 。但字符串常量区分大小写。建议命令大
    写,表名库名小写;
    ​ <2> SQL语句可单行或多行书写,以“;”结尾。关键词不能跨多行或简写。
    ​ <3> 用空格和缩进来提高语句的可读性。子句通常位于独立行,便于编辑,提高可读性。

    ​ <4> 注释:单行注释:--

    ​ 多行注释:/....../
    ​ <5>sql语句可以折行操作
    ​ <6> DDL,DML和DCL

    数据库操作(DDL)

    -- 1.创建数据库(在磁盘上创建一个对应的文件夹)
    create database [if not exists] db_name [character set xxx]
    -- 2.查看数据库
    show databases;查看所有数据库
    show create database db_name; 查看数据库的创建方式
    -- 3.修改数据库
    alter database db_name [character set xxx]
    -- 4.删除数据库
    drop database [if exists] db_name;
    -- 5.使用数据库
    切换数据库 use db_name; -- 注意:进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换
    查看当前使用的数据库 select database();

    About Me
    QQ 群:1094019526 tg 群:群里有
    联系我请加 QQ 好友 (1362449059),注明添加缘由
    文章内容来源于 TOM 的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
    版权所有,欢迎分享本文,转载请保留出处
    觉得有用请点个支持,谢谢! 弘扬开源精神,用爱发电!! Code changes the world!!!
  • 相关阅读:
    NOIP2011 D1T1 铺地毯
    NOIP2013 D1T3 货车运输 倍增LCA OR 并查集按秩合并
    POJ 2513 trie树+并查集判断无向图的欧拉路
    599. Minimum Index Sum of Two Lists
    594. Longest Harmonious Subsequence
    575. Distribute Candies
    554. Brick Wall
    535. Encode and Decode TinyURL(rand and srand)
    525. Contiguous Array
    500. Keyboard Row
  • 原文地址:https://www.cnblogs.com/TOM666/p/12971674.html
Copyright © 2020-2023  润新知