zoukankan      html  css  js  c++  java
  • 数据库的初识与简单的SQL语句

    数据库的初识与简单的SQL语句

    1.初识数据库

    1.1数据库中的数据在你的程序中扮演什么角色

    ​ 用户名密码,商品名价格等

    1.2数据库解决了:

    ​ ①操作文件的效率和便捷问题
    ​ ②解决了多个服务同时使用数据的一致性问题
    ​ ③解决了安全的问题
    ​ ④解决了并发问题

    1.3数据库分类:

    ​ 关系型数据库 : mysql,oracle,sqlserver,sqllite(轻量级),access

    ​ 非关系型数据库 : redis,mongodb,memcache(内存级别)

    1.4数据库的粗浅概念

    你可以理解为,数据库是一个可以在一台机器上独立工作的,并且可以给我们提供高效、便捷的方式对数据进行增删改查的一种工具。

    2.安装数据库

    2.1卸载

    ​ ①net stop mysql 停止mysql服务(在管理员模式下打开命令行模式)
    ​ ②mysqld remove 删除服务(在管理员模式下打开命令行模式)
    ​ ③把安装软件也删掉
    ​ ④删除环境变量
    ​ ⑤清除注册表或重启计算机

    2.2安装

    2.2.1.路径

    ​ ①路径不能有中文
    ​ ②路径中不能有特殊字符

    2.2.2修改配置文件

    ​ ①编码utf-8
    ​ ②所有的配置项后面不要有特殊的符号
    ​ ③修改两个路径basedir,datadir

    2.2.2.1配置文件参考
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8 
    [mysqld]
    #设置3306端口
    port = 3306 
    # 设置mysql的安装目录
    basedir=C:Program Filesmysql-5.6.39-winx64 
    # 设置mysql数据库的数据的存放目录(即data文件夹的绝对目录)
    datadir=C:Program Filesmysql-5.6.39-winx64data 
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    

    2.2.3检测文件的扩展名设置

    ​ 工具-->文件夹选项-->查看-->扩展名 不要隐藏

    2.2.4配置环境变量

    ​ 在path中添加:
    ​ C:mysqlmysql-5.6.45-winx64in (你的mysql中bin文件夹的绝对路径)

    2.2.5以管理员的身份重新打开一个cmd(命令行模式)

    ​ 输入:mysqld install

    2.2.6启动mysql(cmd模式下)

    ​ 输入:net start mysql,启动mysql server

    ​ 注:输入:net stop mysql,便可以停止服务

    2.2.7在cmd启动mysql 客户端

    ​ mysql -u 用户名 -p 密码(这里可以不写,后面会进行密文型密码输入) -h 链接地址,

    ​ 客户端和本地的mysql server相连

    3.初步使用一下数据库

    3.1三种SQL语句类型

    3.1.1DDL语句(数据库定义语言)

    数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER

    3.1.2DML语句(数据库操纵语言)

    数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT

    3.1.3DCL语句(数据库控制语言)

    数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE

    3.2更改root(最高权限)用户的密码

    # mysql 启动了客户端,客户端会自动的连接本地的3306端口
    # mysql -u root 表示要用root用户登陆
    #        默认密码是空
    # 设置密码:
        set password = password('123'); 
    # mysql -u root -p 回车     使用密码登陆
    #         Enter password :123(密文形式) 登陆成功
    # mysql -u root -p123 回车 直接登陆成功
    

    3.3创建账号

    #进入mysql客户端
    mysql> select user();  #查看当前用户
    mysql> exit     # 也可以用q quit退出
    
    # 默认用户登陆之后并没有实际操作的权限
    # 需要使用管理员root用户登陆
    $ mysql -u root -p   # mysql5.6默认是没有密码的
    # 遇到password直接按回车键
    mysql> set password = password('123'); # 给当前数据库设置密码
    
    # 创建账号
    mysql> create user 'eva'@'192.168.10.%'   identified by '123';# 指示网段
    mysql> create user 'eva'@'192.168.10.5';   # 指示某机器可以连接
    mysql> create user 'eva'@'%';              # 指示所有机器都可以连接
    mysql> show grants for 'eva'@'192.168.10.5'; # 查看某个用户的权限
    # 远程登陆
    $ mysql -u root -p 123 -h 192.168.10.3
    
    # 给账号授权
    # grant 权限的种类(增删改查,也可以all) on 数据库.数据表 to 用户名 @ 网段
    mysql> grant all on *.* to 'eva'@'%';
    mysql> flush privileges;    # 刷新使授权立即生效
    
    # 创建账号并授权
    mysql> grant all on *.* to 'eva'@'%' identified by '123';
    

    3.4操作文件夹(库)

    # 增:
        create database db1 charset utf8;
    # 查:
        show databases;
    # 改:
        alter database db1 charset utf8;
    # 删除: 
        drop database db1;
    

    3.5操作文件(表)

    # 先切换到文件夹下:
        use db1
    # 增:
        create table t1(id int, name char);
    # 查:
        show tables;
    # 改:
        alter table t1 modify name char(3);
        alter table t1 change name name1 char(2);
    # 删:
        drop table t1;
    # 表名重命名:
        # alter table 表名 rename 新名字;
        alter table t1 rename t2;
    

    3.6操作文件中的内容(记录)

    # 增:
        insert into t1 values(1, 'egon1'), (2, 'egon2'), (3, 'egon3');
        insert into class3 select * from class;
        insert into class3(id,name) select id,cname from class;
    # 查:
        select * from t1;
    # 改:
        # update 表名 set 字段名 = 更改值 where 条件
        update t1 set name = 'sb' where id = 2;
    # 删:
        delete from t1 where id = 1;
    # 清空表:
        delete from t1;  # 如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
        truncate table t1; # 如果有自增id,新增的数据,从1开始*****。
    

    3.7关于查看的SQL语句

    # desc 表名;
    desc t1; # 查看表结构
    # show create table 表名;
    show create table t1; # 查看表的详细信息
    # 查看一共有多少库
    show databases; 
    # 查看当前所在的库
    select database(); 
    
  • 相关阅读:
    CentOS7和Ubuntu18.10下运行Qt Creator出现cannot find -lGL的问题的解决方案
    C++中使用CMake编译管理项目
    C++ std::isnan等函数的使用
    七个开源的 Spring Boot 前后端分离项目,一定要收藏!
    基于Select模型的Windows TCP服务端和客户端程序示例
    简单的C++11线程池实现
    Windows下FFMEPG编译
    MIMO431学习笔记目录
    golang调用海康sdk
    GRPC-go版本
  • 原文地址:https://www.cnblogs.com/zheng0907/p/12718926.html
Copyright © 2011-2022 走看看