初识mysql

mysql的优势:
         运行速度快
         使用成本低
         可移植性强
         适用于更多用户
        底层存在文件里的
数据库的概念
    数据库:
             (database)高效的存储和处理数据的介质(介质主要是两种: 磁盘和内存)
        数据的分类
                 数据库基于存储介质的不同: 进行分类, 分为两类, 关系型数据库(SQL)和非关系型数据库    (NOSQl:Not Only SQL)
        关系型数据库: 
                  大型: Oracle,DB2 中型: SQL-Server, MySql等 小型: Access等
        非关系数据库:
                 Memcached, mongodb, redis等
        两种数据库阵营的区别
                 关系型数据库:安全(保存磁盘基本不可能丢失),比较浪费空间(二维表) 
                 非关系型数据库: 效率高, 不安全(容易丢失)
  什么是关系型数据库:
          关系型数据库: 是指以关系数学模型来表示的数据,关系数学模型中以二维表的形式来描述数据
        关系模型: 包含三个方面
                1、数据结构: 数据存储的问题, 二维表(有行和列)
                2、操作指令集合: 搜有的 SQL 语句
                2、完整性约束: 表内数据约束(字段与字段),表与表之间的约束(外建)
        数据库系统: DBS(Database System): 是一种虚拟系统, 将多种内容关联起来的称号
        DBS=DBMS+DB
        DBMS:Database Management System, 数据库管理系统, 专门管理数据库
        DBA: Database Administrator,数据库管理员
Sql分为:
        SQL structured Query Language, 结构化查询语言(数据以查询为主:99%是在进行查询操作)
        SQL 分为三部分
                   DDL : Data Definition Language,数据库定义语言, 用来维护存储数据的结构(数据库,表)
        代表指令: create drop alter等
                  DML: Data Mainipulation Language, 数据库操作语言 ,用来对数据进行操作(数据表中的内容)
        代表指令: insert delete update 等:
                  其中DML 内部有单独进行一个分类: ( DQL ) 数据化查询语言 ,如 select
                   DCL:Data Control Language 数据库控制语言, 主要负责权限管理 (用户) ,
        代表指令: grant, revoke等
                  SQl是关系型数据库的操作指令,SQL是一种约束, 但不强制(类似 W3C )不同的数据库产品可能内部会有细微的区别
命令操作数据库
        1、测试数据库是否连接
                     mysql -h 服务器主机地址 -u 用户名 -p ; 密码
                     一般只是用: mysql -u root-p; 密码
        2、创建数据库
                    create database 数据库名 分号结束
                    create database 数据库名称 character set "utf8"
        3、查看数据库
                    show databases;
                    show create database myschool;
        4、选择数据库
                    use 数据库名;
        5、查看你正在用哪个数据库
                    select database();
        6、删除数据库
                    drop database 数据库名;        
        在命令提示符中创建表必须写: set names gbk;中文字符能正常显示
        帮助文档 help 查询内容
               1、 contents 查询所有, data types 查看所有数据类型 
数据类型:
      字符串
            char();不可变
            varchar();可变;
            decimal;大数据类型
            blob 存放字节(二进制存储的)
            text 字符(文本内容)
    数值类型
            tinyint 相当于 byte
            smallint 相当于 short
            int
            bigint 相当于 long
            float
            double
            decimal(M D) 字符串形式的浮点数 M存储的位数  D存储的小数位数    
    逻辑性
        bit 表示true或者false
    日期类型
        date 只包含日期(年月日)
        time 只包含时间(时分秒)
        datetime 包含日期和时间, 如果插入数据的时候, 字符值为空, 字段的值就是为空
        timestamp 包含日期和时间, 如果插入数据的时候, 设置字段的值为空, 默认获取当前的系统的时候,把时间保存在字段中    
    约束
    约束的好处: 保证数据的完整性
            唯一约束 unique key
            非空约束 not null
            主键约束 primary key
            默认约束 default
            外建约束 foreign key
            自动增长 auto_increment
            Unsigned 标注没有负数
            zerofill 设置宽度不足以 0 补全要 ( 设置zerofill 自动添加 unsigned )
            comment; 是注释        
创建表:
    注释:Comment='注释内容';
    设置编码 charset=字符集名;
    语法: crete table 表名(  
         字段名 数据类型 约束
    );
查询表,删除表:
        show create table 表名;查看表的建表语句
        show tables;查看一共有几张表
        desc 表名;查看表的详细信息
        drop table [if exists]表名;删除表
        select version() , user();查看登录用户信息和数据库版本信息
        check(约束),添加check约束
        engine='存储引擎'
MySql的存储引擎:


        使用MyISAM: 不需要事物, 空间小, 以查询访问为主
        使用InnoDB:多删除, 更新操作, 安全性高, 事物处理级并发控制
引擎的查看和修改方法:
        查询当前默认的存储引擎 show variables like '%storage_engine%'
        在my.ini配置文件 修改存储引擎: default-storage-engine=innoDB
MySql中数据库中的类型:
        information_schema 主要存储系统中的一些数据库对象信息,如用户表信息,字段信息, 权限信息字符信息和分区信息
        performance_schema 主要存储数据库服务器性能参数
        mysql 主要存储系统的用户权限
        text 数据库管理系统自动创建的测试数据库, 任何数据库都能使用
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值