学习日记0911数据库基础

1 认识数据库

  目前常见的数据库

    关系型数据库

      数据与数据之间可以建立关联关系(用户数据和购买信息)

      SQLServer 

        仅支持windows

      MySQL

        免费 开源 性能也不差 mysql 先后被sun 和 oracle收购 

      mariaDB

         mysql的创始人 担忧mysql的未来 于是推出mariaDB 使用起来完全一致

      Oracle

        目前最牛逼的数据库 收费很高 

       DB2 IMB

        收费的 一般与计算机绑定销售非

    关系型数据库

      速度贼快key value 存取

      MongoDB
      redis
      memcache

  数据库相关概念
  数据 用于记录某事物状态的符号 或 别的形式 数字 音频
   age = 20
  记录 就是一个事物的典型特征的组合 在文件中体现为一行文本
   yyh,20,man,180
  表 就是一个一个的文件

   库 就是一个文件夹

  数据库管理系统(DBMS) 就是一个软件用来管理库的 C/S程序

  数据库服务器 运行着DBMS的计算机称为数据库服务器

3 启动服务器 注册系统服务
  (以mysql为例)
  启动服务器:
    先将mysql添加到系统变量
  在path中加入你的mysql的安装目录



  注册系统服务
  在前面完成的前提下在命令行中输入:
    mysqld --install
4 修改与破解密码
  
  修改密码
    在命令行中输入:
      mysqladmin -uroot -p旧密码 password新密码
  破解密码
    1 在服务端输入
      mysql --skip-grant-tables(效果是让客户端登录时跳过注册表,可以不使用账号密码登录)
    2 在客户端无密码登录
    3 更新注册表
      
update mysql.user set password = password("321") where user = "root" and host="localhost";
  安装mysql得到两个程序
    1.服务器程序
    存取数据时服务器的工作
    2.客户端程序
    命令服务器来完成存取工作
     客户端将命令发送给服务器 服务器解析执行命令 返回客户端要的数据

     服务器为了保证数据安全需要进行用户验证
     默认有一个root 账户 默认没有密码 不安全
       需要修改密码:
       在服务器的终端中执行
         mysqladmin.exe -u要改的用户名 -p旧密码 password 新密码
       在服务器上执行命令时 如果看到Install/Remove of the Service Denied! 说明权限不够
得用管理员身份运行
      如果忘记密码 要破解 也需要在服务器终端启动mysql服务 并且需要添加跳过授权表的参数

    mysql -uroot -padmin 用mysql自带的客户端登录服务器
     -u 用户名 -p 密码 -h 服务器的ip -P端口号 在本机上执行客户端不需要指的 -h -P

       常见sql命令
       show databases;
       查看所有数据库名称

       use 数据库名称
       选择某个数据库 就是进入文件夹
  
       quit or exit 退出客户端


    
     以上的指令 只有两个是在服务器端执行
     mysqld
     mysqladmin

5
编码设置
  
  在mysql的根目录下设置配置表
    my.ini
  内容为
   
[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci

[mysql]
default-character-set = utf8 

[client]
default-character-set = utf8
 

  再重启服务端

6 数据库基础

 库相关
  添加库
    create database 数据库名 charset utf8;
  查
    show databases; (查看所有的数据库)
    show create database 数据库名 (查看建库语句)
  改 (在mysql中库的修改只能改编码)
    alter database 库名 charset 编码;
  删
    drop datebase 数据库名
 表相关
    
要修改表需要建立在进入库的基础下,操作语句:
      use 库名
  

  
  create table 表名(字段名 属性,字段名 属性,......)
  删
    drop table 表名
    truncate table 表名 (重建表会清空数据)
  查
    show tables;(查看有几个表)
    besc 表名; (查看表中的字段)
    show create 表名; (查看建表语句)
  改
    alter table 表名 add | modify |drop | change
    add 后面跟 字段名 类型 (添加字段)
    modify 后面跟 字段名 要修改成的类型 (修改字段的数据类型)
    drop 后面跟 字段名 (删除字段)
    change 后面跟 旧字段名 新字段名 新字段的数据类型 (修改字段名和数据类型)
 记录相关
  
记录是基于表和库的所以也要先进入库才可以进行相关操作
    use 库名
  增
    insert into 表名 values(值1,....),(值2,....)
  删
    delete from 表名 where 条件
  改
    update 表名 set 字段 = 值 where 条件(字段 = 值)
  查
    select 字段名 from 表名
    select * from 表名 (查看所有字段下的数据)

 

 
 
posted @ 2018-09-11 19:49  周建豪  阅读(151)  评论(0编辑  收藏  举报