• 初始数据库与简单语句


    初识数据库

    为什要用数据库

    第一,将文件和程序存在一台机器上是很不合理的。
    第二,操作文件是一件很麻烦的事
    

    数据库的优势

    1.程序稳定性 :这样任意一台服务所在的机器崩溃了都不会影响数据和另外的服务。
    2.数据一致性 :所有的数据都存储在一起,所有的程序操作的数据都是统一的,就不会出现数据不一致的现象
    解决了多个服务同时使用数据的一致性间题
    3.并发 :数据库可以良好的支持并发,所有的程序操作数据库都是通过网络,而数据库本身支持并发的网络操作,不需要我们自己写socket   解决了并发问题
    4.效率 :使用数据库对数据进行增删改查的效率要高出我们自己处理文件很多  操作文件的效率和便捷问题
    

    认识数据库

    什么是数据(Data)

    描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机
    

    什么是数据库(DataBase,简称DB)

    数据库是长期存放在计算机内、有组织、可共享的数据集合。
    

    数据库管理系统分类

    MySQL、Oracle、SQLite、Access、MS SQL Server
    #数据库分类:
        #关系型数据库:mysql oracle. sglserver. sgllite accesse  表的形式 关联性强 模糊查询 查询稍慢 
        #非关系型数据库:redis. mongodb. memcache(内存级别)  键值对形式 利用键查询快 利用值查询慢
    

    sql语句的种类

    SQL语言按照实现的功能不同,主要分为3类:数据操纵语言(DML),数据定义语言(DDL),数据控制语言(DCL)。
    1.数据操纵语言(DML):主要用来处理数据库中的数据内容。允许用户对数据库中的数据进行查询 ,插入,更新和删除等操作
    常用的DML语句及其功能:
    DML语句	功能说明
    SELECT	从表或视图中检索数据行
    INSERT	插入数据到表或视图
    UPDATE	更新数据
    DELETE	删除数据
    CALL	调用过程
    MERGE	合并(插入或修改)
    COMMIT	将当前事务所做的更改永久化(写入数据库)
    ROLLBACK	取消上次提交以来的所有操作
    
    2.数据定义语言(DDL):是一组SQL命令,用于创建和定义数据库对象,并且将对这些对象的定义保存到数据字典中。通过DDL语句可以创建数据库对象,修改数据库对象和删除数据库对象等。
    常用的DDL语句及其功能:
    DDL语句	功能说明
    CREATE	创建数据库结构
    ALTER	修改数据库结构
    DROP	删除数据库结构
    RENAME	更改数据库对象的名称
    TRUNCATE	删除表的全部内容
    注:每一条DDL语句执行后,Oracle都将提交当前事务。
    
    3.数据控制语言(DCL):数据控制语言用于修改数据库结构的操作权限。DCL语句主要有2种:
    DCL常用语句及其功能:
    DCL语句	功能说明
    CRANT	授予其他用户对数据库结构的访问权限
    REVOKE	收回用户访问数据库结构的权限
    
    
    4.SQL语句规范
    编写SQL语句时需要遵循一定的规则:
    1.SQL关键字、对象名、和列名不区分大小写。
    2.字符值和日期值要区分大小写。
    3.在应用程序中如果SQL语句文本很长,可以将语句分布到多行上,并且可以通过使用跳格和缩进提高代码的可读性
    4.SQL*Plus中的SQL语句以分号(;)结束。
    

    mysql操作命令

    select user(); #查看当前用户名
    select database();#查看当前库
    show databases;#查看当前所有库
    show tables;#查看当前库所有表
    desc 表名 #查看表结构
    show create table d1;
    查看字符集编码的指令:
    show variables like "%char%";
    

    登录账号

    创建用户和授权
    https://www.cnblogs.com/clschao/articles/10050473.html

    自己的电脑 管理员用户
    # 登录方式 mysq 进入客户端
        # 需要使用管理员root用户登陆   之前不输入msql
        # mysql -uroot -p   # mysql5.6默认是没有密码的
        # #遇到password直接按回车键
        #第2种  mysql -u用户名 -p用户密码
        
        # mysql>  set password = password('123'); # 给当前数据库设置密码 123密码
        
    # 使用公司的数据库   管理员会创建-个账号给你用
    # 自己的数据库借给别人用 也可以创建一个账号给别人
    # mysql -uroot -p   # mysql5.6默认是没有密码的
        # #遇到password直接按回车键
        #第2种  mysql -u用户名 -p用户密码
        
        
    MySQL客户端连接服务端时的完整指令
    mysql -h 127.0.0.1 -P 3306 -u root -p
    

    修改密码

    4.1第一种修改密码方式,当你忘记密码的时候使用这种方式修改
    如果密码忘了怎么办?
    1 停掉MySQL服务端(net stop mysql)
    2 切换到MySQL安装目录下的bin目录下,然后手动指定启动程序来启动mysql服务端,指令: mysqld.exe --skip-grant-tables
    3 重新启动一个窗口,连接mysql服务端,
    4 修改mysql库里面的user表里面的root用户记录的密码:
        update user set password = password('666') where user='root';
    5 关掉mysqld服务端,指令:
        tasklist|findstr mysqld #查看mysqld 的id
        taskkill /F /PID 进程号    #关闭进程
    6 正常启动服务端(net start mysql)
    
    
    
    4.2第二种当你没有忘记密码的时候,想要去修改密码建议使用这种方式,因为简单
            mysqladmin -uroot -p1234 password 123
    

    创建子账号

    #创建账号
        # mysql> create user 'saoqiang'@'192.168.13.%' identified by '123';# 指示网段
        # mysql> create user 'eva'@'192.168.10.5'   # 指示某机器可以连接
        # mysql> create user 'eva'@'%' identified by '123';   #指示所有机器都可以连接
        # mysql> show grants for 'eva'@'192.168.10.5';查看某个用户的权限
    # # 创建账号并授权
    # mysql> grant all on *.* to 'eva'@'%' identified by '123'
    # 查看所有用户
    #select user,host from mysql.user;
    #mysql>     select user();  #查看当前用户名
        #mysql>     exit     # 也可以用q quit退出
    

    用户授权

    # 给账号授权 登录情况下(*代表所有)增删改查all所有  select查看
    # mysql> grant all on *.* to 'eva'@'%';
    # mysql> grant all on *.* to '用户名'@'对应用户名IP地址';
    
    # mysql> grant select on *.* to 'eva'@'%';#查看
    # mysql> grant all on 数据库.表 to '用户名'@'地址'; # 给一个存在的eva账号授权
    # mysql> flush privileges;    # 刷新使授权立即生效
    
    
    # # 创建账号并授权
    # mysql> grant all on *.* to 'eva'@'%' identified by '123'
    

    删除子用户

    drop user '骚强'@'host'; #删除已存在的用户 host 代表他的id
    实列
    drop user '骚强'@'127.01.0.1'; #删除已存在的用户 host 代表他的id
    

    远程登陆他人账户

    # 远程登陆  未登录情况下
    # $ mysql -uroot -p123 -h 192.168.10.3 #对方的ip
    mysql -uroot -p1031 -h 192.168.16.153
    
  • 相关阅读:
    DDD:再谈:实体能否处于非法状态?
    EntityFramework:迁移工具入门
    技术人生:态度决定人生
    EntityFramework:EF Migrations Command Reference
    DDD:聊天笔记
    DCI:DCI学习总结
    DCI:The DCI Architecture: A New Vision of Object-Oriented Programming
    设计原则:消除Switch...Case的过程,可能有点过度设计了。
    .NET:动态代理的 “5 + 1” 模式
    Silverlight:《Pro Silverlight5》读书笔记 之 Dependency Properties And Routed Event
  • 原文地址:https://www.cnblogs.com/saoqiang/p/12386679.html
Copyright © 2020-2023  润新知