zoukankan      html  css  js  c++  java
  • 数据库小结一

    数据库总结

    什么是数据库

    数据库即存放数据的仓库

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

    优点

    1. 数据稳定性:一套服务所在的机器崩溃了不会影响数据和另外的服务

    2. 数据一致性:所有数据一起,所有程序操作的数据都是统一的

    3. 并发:良好的支持并发

    4. 效率:使用数据库对数据进行增删改查的效率高很多

    关系型数据库

    Mysql oracle sun db2

    非关系型数据库

    没有能帮我们维护数据之间的关系

    常见存储介质为内存

    mongoDB redis

    数据库重要概念

    数据(Column) 文件中的某个字符串

    记录(Row) 文件中的某一行

    表(table) 某个文件

    库(database) 文件夹

    DBMS 数据库管理系统(数据库软件)

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

     

    常见参数

    -h 主机名称

    -p 指定端口 默认是3306 可以不写

    -u 制定用户名

    -p 制定密码

    添加环境变量

    注册 mysqld --install

    删除 sc delete mysql

    启动服务 net start mysql

    停止服务 net stop mysql

    查找某个进程

    tasklist | findstr mysqld

    杀死进程

    taskkill/f/pid 1111

    管理员密码设置

    1.指导原始密码

    1.1 登录到mysql制定更新语句

    update user set password = password("123") where host = "localhost" and user = "root"

    刷新

    1.2 mysqladmin工具

    mysqladmin -uroot -p123 password 321

    -p是原始密码

    2.不知道原始密码

    2.1 删除权限相关的文件

    2.2 跳过授权表

    手动启动mysql制定参数

    mysqld -skip-grant-tables

    update user set password = password("111") where host = "loaclhost" and user = "root"

    重启mysql就可以

    重启mysqld

    库的操作

    #切换数据库
    use 数据库名称 可以不加分号

    # 查看所有数据库
    show databases;
    show create databases;

    # 创建新的数据库
    create database 数据库名称
    create database 数据库名称 charset utf8; 制定编码方式

    # 删除数据库
    drop database 数据库名称

    # 修改数据库编码 可以进入到数据库文件夹修改db.opt
    # 第一行是编码 第二行是排序规则

    # 修改数据库名 可以直接修改对应的文件夹名称

    表的操作

    show 查看

    show create table 表名称

     

    删除 drop

    清空 truncate table 名称

     

    添加字段 alter table 表名 add 列名称 数据类型;

    删除字段 alter table 表名 drop 列名称

    修改数据类型 alter table 表名 modify 列名称 新的数据类型

    修改列 alter table 表名 change 旧的列名 新的列名 新的类型;

    修改表的名称 rename table 旧名称 to 新名称;

    修改编码 alter table 表名 charset utf80;

    配置文件的使用

    配置文件需要放在安装目录的根目录,bin同一级

    # 客户端 除了mysql之外的 客户端的配置修改之后 只需要退出重新连接即可
    [client]
    user = root
    password = 111
    default-character-set = utf8

    # 服务器端配置 需要重启服务器
    [mysqld]
    character-set-server = utf8

    2.表的分类 数据库引擎

    常用的innodb

    数据库引擎指的是真正的负责存储数据的模块

     

    增删改查

    插入数据
    insert into 表名 values(v1,v2...)# 该方式必须保证插入的数据个数与表格字段一一对应
    查询
    select * from 表名
    select 字段 from 表名 where 条件;
    更新
    update 表名 set 新值,值; 修改所有记录
    update 表名 set 新值,值 where 条件;

    删除数据
    delete from 表名; 删除所有记录
    delete from 表名 where 条件; # 删除满足条件的记录
    修改数据库语法
    alter database 数据库名称 charset utf8;
    select database() 查看当前库


     

    mysql中的数据类型

    整形

    tinyint 1个字节 无符号的8bit 最大255 有符号7个bit 127 -128

    smallint 2个

    mediumint 3个

    int 4个 最常用 如果你的数据超过10位 用bigint

    bigint 8个

    浮点型

    两种不精确的小数

    float 可以精确到 大约5位

    double 比float更精确

    如果对精确度要求比较高 需要使用decimal 类型

    decimal 需要指定 位数如下: 位数不包括小数点

    decimal(65,30) 总长最大65 小数30

    字符串

    char 定长字符串

    优点:读取速度快

    缺点:浪费磁盘空间

     

    varchar 长度可以变的字符串·

    优点:节省空间

    缺点:速度慢

    枚举和集合

    枚举是提前规定一个范围 你的值只能是其中之一 多选一

    集合是以前规定一个范围 你的值可以是其中的多个 多选多

    集合在插入数据时,多个值用逗号隔开 ,但她们必须包含在同一个字符串内

    日期和时间

    year

    data

    time

    这三种都可以使用字符串或者数字两种方式输入值

    datetime

    datastamp

    这两种只能使用字符串输入

  • 相关阅读:
    mybatis 对string类型判断比较 group case when then 综合
    利用Apache shiro SimpleHash 加密字符串
    linux下用rpm 安装jdk
    运行java程序的时候出现Exception in thread "main" java.lang.UnsupportedClassVersionError:
    linux如何查看端口被哪个进程占用?
    Linux如何查看JDK的安装路径
    Linux中查看jdk版本
    linux修改/etc/profile权限
    db2,oracle,mysql ,sqlserver限制返回的行数
    什么是T-SQL
  • 原文地址:https://www.cnblogs.com/zrx19960128/p/11203839.html
Copyright © 2011-2022 走看看