• 数据库(上)


    数据库

    一、初识数据库

    # 什么是数据库?
    	管理数据的系统
    # 存数据的位置
    	内存、硬盘(文件、数据库)
    # 什么是系统?
    	运行在硬件基础上,管理其他软件
    

    二、数据库的组成

    数据库由库、表、记录、字段组成

    • 库:存放多张表(文件夹)
    • 表:包含多条相同结构的记录(文件)
    • 记录:包含多个key—value键值对的一条数据(二进制数据)
    • 字段:描述信息+信息本身=key+value(二进制数据)

    三、数据库的分类

    3.1 关系与非关系

    关系:数据库中表与表有联系 eg:mysql

    非关系:没有表概念(体现的都是记录) eg:redis

    3.2 内存与硬盘

    硬盘:数据可以永久存储 eg:mysql

    内存:数据的存储效率极高 eg:redis

    3.3 sql与nosql

    sql:数据库操作通过sql语句

    ​ eg:stu--{'name':'yjy','age':18}

    nosql:数据库操作就是key-value形式(value就是一条记录)

    ​ eg:name--'yjy'(短小的记录)

    四、连接数据库

    '''游客登录'''(不一定能登录,登入了什么也干不了)
    >: mysql
    '''账号密码登录'''
    >: mysql -u root -p
        再输入密码,没有任何提示,没有密码直接回车
    
    '''连接指定服务器的mysql'''
    >:mysql -h ip地址 -p 端口号 -u 账号 -p
    回车后输入密码
    eg:
    >:mysql -hlocalhost -p3306 -uroot -p
     
    '''退出数据库'''
    >:quit
    >:exit
    

    五、用户信息查看

    '''查看当前登陆的用户'''
    mysql>:select user();
        
    '''root权限下可以查看所有用户信息'''
    mysql>:select * from mysql.user;
    mysql>:select * from mysql.user G(纵向排列)
    mysql>:select user,password,host from mysql.uaer;
        
    '''root登录下,删除游客(操作后要重启mysql服务)'''
    mysql>:delete from mysql.user where user= ' '
    
    '''root登录下,修改密码(操作后要重启mysql服务)'''
    mysql>:update mysql.user set password=password('12345678') where host='localhost';
    
    '''没有登录'''
    >: mysqladmin -u用户名 -p旧密码 -h域名 password "新密码"
    eg>: mysql admin -uroot -p123 -hlocalhost password "root"
        
    '''root登录下,创建用户'''
    mysql>:grant 权限们 on 数据库.表名 to 用户名@主机 identified by '密码';
    

    六、数据库的基本操作

    '''查看已有数据库'''
    mysql>:show databases;
    
    '''选择某个数据库'''
    mysql>:use 数据库名
    
    '''查看当前所在的数据库'''
    mysql>:select database();
    
    '''创建数据库'''
    mysql>:create database 数据库名[charset=编码格式]
    eg:create database yjy;
    eg:create database wwb charset = utf8;
    
    '''查看数据库的详细内容'''
    mysql>:show create database 数据库名;
    eg:show create database yjy
    
    '''删除数据库'''
    mysql>:drop database 数据库名;
    eg:drop database yjy;
    '''将db2数据库编码修改为utf-8编码格式'''
     mysql>:alter database db2 charset="utf8";
    

    七、表的基本操作

    前提:先选取要操作的数据库

    '''查看已有表'''
    mysql>:show tables;
    
    '''创建表'''
    mysql>:create table 表名(字段们);
    eg:create table boyfriends(name varchar(16), age int);
    '''查看创建的sql'''
    mysql>:show create table 表名;
    show create table boyfriends; 
    
    '''查看创建表的结构'''
    mysql>:desc 表名;
    
    '''删除表'''
    mysql>:drop table 表名;
    eg:drop table boyfriends
    
    '''修改db1库t1表的name字段char类型长度为20'''
    alter table db1.t1 modify name char(20);
    

    八、记录的基本操作

    '''查看某个数据库中的某个标的所有记录,如果在对应数据库中,可以直接查找表'''
    mysql>:select * from [数据库名.]表名;
    # *代表查询所有字段
    '''给表的所有字段插入数据'''
    mysql>:insert [into] [数据库名.]表名 values (值1,...,值n);
    eg:如果给有name和age两个字段的boyfriends表插入数据
    1条:insert into boyfriends values ('wwb', 22);
    多条:insert into boyfriends values ('wwb', 22),('ypp', 22);
    指定数据库:insert yjy.boyfriends values ('wwb', 22)
    
    '''根据条件修改指定内容'''
    mysql>:update [数据库名.]表名 set 字段1 = 新值1,字段n = 新值n where 字段 = 旧值;
    eg:update boyfriends set age = '18' where name = 'wwb';
    #1)可以只修改部分字段
    #2)没有条件下,所有记录都会被更新
    eg:update boyfriends set name = 'sb';
    
    '''根据条件删除记录'''
    mysql>:delete from [数据库名.]表名 where 条件;
    eg:delete from boyfriends where age>20;
    
  • 相关阅读:
    [STL][C++]MAP
    [原创]南水之源A*(A-Star)算法
    php+mysql模糊查询功能
    php中如何传递Session ID
    初识jsonp
    跨站脚本攻击XSS
    XSS危害——session劫持
    PHP中获取当前页面的完整URL
    smarty获得当前url的方法分享
    表空间的管理方式有哪几种,各有什么优劣?
  • 原文地址:https://www.cnblogs.com/yanjiayi098-001/p/11558234.html
Copyright © 2020-2023  润新知