• 数据库基础


    数据库

    '''
    1.什么是数据库:管理数据的系统 - 安装某种管理数据的系统 - 管理的对象本质是文件
    2.存储数据的位置:内存、硬盘
    3.什么是系统:运行在硬件基础上,管理其他软件
    '''
    
    #数据库的组成
    '''
    库:存放多张表  -- 文件夹
    表:包含多条相同结构的记录  -- 文件
    记录:包含多个key-value键值对的一条数据  -- 二进制数据
    字段:描述信息 - 信息本身 == key-value  -- 二进制数据
    
    stu
    id  name   age   gender
    1   Bob    18     男
    2   Tom    17     女
    ...
    teacher
    ...
    
    '''
    

    数据库的分类

    # 1. 关系与非关系
    #   关系:数据库中表与表之间有联系 -- mysql 
    #   非关系:没有表概念 -- redis,mongodb(介于关系与非关系)
    
    # 2. 内存与硬盘
    #   硬盘:数据可以永久存储 -- mysql,mongodb
    #   内存:数据的存取效率极高 -- redis,memcache
    
    # 3. sql与nosql
    #   sql:数据库操作通过sql语句
    #   nosql:数据库操作就是key-value形式(value就是一条记录)
    #         stu - {'name':'Bob','age':18}
    #         stus - [{'name':'Bob','age':18},{'name':'Tom','age':18}]
    #         name - 'Jerry'
    

    卸载

    '''
    前提:启动终端,输入mysql,如果不是提示 不是内部或外部命令,代表已安装数据库
    
    1)直接连入
    	i  停止服务
    		搜索:服务,检索mysql服务,如果有停止服务,并移除服务
    			启动管理员终端:mysqld --remove
    	ii 搜索:服务,检索mysql服务 无  (mysql使用命令启动)
    			停止服务,启动管理员终端
    				tasklist | findstr mysql
    				taskkill /pid 进程pid /f
    2)连接超时
    	搜索:服务,检索mysql服务,移除服务即可
    	
    3)移除环境变量
    
    总结:如果能连入,先停止服务 | 如果添加了服务,就移除服务 | 取消环境变量配置
    		
    '''
    

    安装

    '''
    1. 解压免安装版本(5.6 - 没有初始密码)
    2. 配置环境变量:数据库绝对路径下的bin
    3. 配置服务:
    	启动管理员终端:mysql --install [nmysql]
    '''
    

    连接数据库

    1) 游客登陆(不一定能登入,登入了也啥都不能干)
    >: mysql
    
    2) 账号密码登录
    >: mysql -u root -p
    再输入密码,没有任何提示,没有密码直接回车
    
    3) 连接指定服务器的mysql
    >: mysql -hlocalhost -P端口号 -uroot -p
    回车后敲入密码
    eg:
    mysql -hlocalhost -P3306 -uroot -p
    
    4) 退出数据库
    >: quit
    >: exit
    

    用户信息查看

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

    数据库的基本操作

    1) 查看已有数据库
    mysql>: show databases;
    
    2) 选择某个数据库
    mysql>: use 数据库名
    
    3)查看当前所在数据库
    mysql>: select database();
    
    4) 创建数据库
    mysql>: create database 数据库名 [charset=编码格式];
    eg>: create database ys;
    eg>: create database zero charset=utf8;
    eg>: create database aa;
    
    5) 查看创建数据库的详细内容
    mysql>: show create database 数据库名;
    eg>: show create database ys;
    
    6) 删除数据库
    mysql>: drop database 数据库名;
    eg>: drop database aa;
    

    表的基本操作

    前提:先选取要操作的数据库
    
    1)查看已有表
    mysql>: show tables;
    
    2) 创建表
    mysql>: create table 表名(字段们);
    eg>: create table student(name varchar(16),age int);
    eg>: create table teacher(name varchar(16),age int);
    
    3) 查看创建表的sql
    mysql>: show create table 表名;
    eg>: show create table student;
    
    4) 查看创建表的结构
    mysql>: desc 表名;
    
    5) 删除表
    mysql>: drop table 表名;
    eg>: drop table teacher;
    
    6) 修改表
    	** 修改字段属性
    	mysql>: alter table 表名 modify 新字段属性;
    	eg>: alter table student modify age int(3);
    	** 修改字段名
    	mysql>: alter table 表名 change 旧字段 新字段 类型;
    	eg>: alter table student change name stu_name char(16);
    	** 修改表名
    	mysql>: alter table 表名 rename 新表名
    	eg>: alter table student rename stu;
    

    记录的基本操作

    1) 查看某个数据库中的某个表的所有记录,如果在对应数据库中,可以直接查找表
    mysql>: select * from [数据库名.]表名;
    主:*代表查询所有字段
    
    2)给表的所有字段插入数据
    mysql>: insert [into] [数据库名.]表名 values (值1,...,值n);
    eg>: 如果给有name和age两个字段的student表插入数据
    1条>: insert into student values ('Bob',18)
    多条>: insert into student values ('张三',18),('李四',19);
    指定库>: insert into ys.student value ('张三',18),('李四',19);
    
    3) 根据条件修改指定内容
    mysql>: update [数据库名.]表名 set 字段1=新值1,...,字段n=新值n where 字段=旧值;
    eg:> update student set name='Tom',age='100' where name='Bob';
    注:i) 可以只修改部分字段 ii) 没有条件下,所有记录都会被更新
    eg>: update student set name='zz';
    
    4) 根据条件删除记录
    mysql>: delete from [数据库名.]表名 where 条件;
    eg>: delete from student where age<30;
    
  • 相关阅读:
    Linq获取DataTable列名称集合
    《将博客搬至CSDN》 旅行者
    编译torch记录
    pow performance
    记录一次排查OOM的过程
    Spring boot jar包解压后重新压缩命令
    打包后,直接访问index.html
    雪碧图
    gdb
    吨吨日记
  • 原文地址:https://www.cnblogs.com/yushan1/p/11558314.html
Copyright © 2020-2023  润新知