7.26数据库笔记(1)

2018-7-26 16:12:27

cf巨人城2.0就是多了个油炸泰坦还是蛮好玩的!

外面乌云密布很爽,下雨啦啦啦啦!

我觉得数据库没有多神秘,就是保存数据的,无非是数据的增删改查!

就是语句有点麻烦,也许是刚开始,以后结合了python其他语言就可以调用

库简单来把! 

先把那个 外键的图拿来,一张图很明白外键的强大!'不需要重复造轮子,说的就是这!'

很恰当的一句话!  

一个表可以有好多的外键!!!

1.MySQL下载与安装
    下载  
        如果下载zip形式的需要自己动手做下面东西:
        1.配置环境变量 pass
        2.开启系统服务  在bin目录所在处开启命令行   mysqld --installl
        3.开启mysql   net start mysql
    初始化服务端:
        mysqld --initialize-insecure
        在根目录里面出现 data目录
        默认用户名  root 密码 为空

2.登入mysql :
    mysql  -u root -p    
    由于密码为空 再按下回车进入mysql

文件夹(数据库)
文件(表)
文件内容(数据行)

3.开始命令阶段:
    show databases;        查看data目录下所有文件
    use  数据库名字;         进入该文件夹(数据库)内部
    show tables;                查看该数据库内所有表
    select*from 表;            查看该表内所有数据行

创建用户:
              create user 'alex'@'192.168.1.1' identified by '123123';
              create user 'alex'@'192.168.1.%' identified by '123123';
              create user 'alex'@'%' identified by '123123';            # 任意一台电脑
        授权:
              权限  人
              grant select,insert,update  on db1.t1 to 'alex'@'%';
              grant all privileges  on db1.t1 to 'alex'@'%';
              revoke all privileges on db1.t1 from 'alex'@'%';
              
4 SQL语句
    创建文件夹:
    create database db2 default charset utf8;       #创建一个数据库并且编码为utf8
    操作文件
        show tables;            #查看表
        create table t1(id int,name char(10)) default charset=utf8;        #创建一个id整数型,name为10个字节,utf8
        create table t1(id int,name char(10))engine=innodb default charset=utf8;    #这个是支持事务,原子性操作
        create table t3(id int auto_increment,name char(10))engine=innodb default charset=utf8;  *****# 在上面基础上id自增
         
        create table t1(
            列名 类型 null,
            列名 类型 not null,
            列名 类型 not null auto_increment primary key,
            id int,
            name char(10)
        )engine=innodb default charset=utf8;
            # innodb 支持事务,原子性操作
            # myisam myisam
            auto_increment 表示:自增
            primary key:  表示 约束(不能重复且不能为空); 加速查找
            not null: 是否为空

            数据类型:
                数字:
                    tinyint
                    int
                    bigint
                    FLOAT
                        0.00000100000123000123001230123
                    DOUBLE
                        0.00000000000000000000100000123000123001230123
                        0.00000100000123000000000000000
                    decimal            #这个更精准
                        0.1
                    
                字符串:(面试题考过 char()和varchar())
                    char(10)      速度快()
                        root      
                        root     
                    varchar(10)   节省空间
                        root
                    PS: 创建数据表定长列往前放
                    
                    text
                    上传文件: 
                        文件存硬盘
                        db存路径
                时间类型
                    DATETIME
                enum
                set
                
                
            create table t1(
                id int signed not null auto_increment primary key,
                num decimal(10,5),
                name char(10)
            )engine=innodb default charset=utf8;
        
        清空表:
            delete from t1;
            truncate table t1;
        删除表:
            drop table t1;
        
    操作文件中内容
        插入数据:
            insert into t1(id,name) values(1,'alex');
        删除:
            delete from t1 where id<6
        修改:
            update t1 set age=18;
            update t1 set age=18 where age=17;
        查看数据:
            select * from t1;
    
    外键:(一对多,)
        (如图所示!!文字显得好乏力!)
        create table userinfo(
            uid int auto_increment primary key,
            name varchar(32),
            department_id int,
            xx_id int,
            constraint fk_user_depar foreign key (department_id) references color(id)
        )engine=innodb default charset=utf8;
        
        create table department(
            id bigint auto_increment primary key,
            title char(15)
        )engine=innodb default charset=utf8;
innodb原子操作
        
今日内容参考博客:
    http://www.cnblogs.com/wupeiqi/articles/5713315.html
作业:
    http://images2015.cnblogs.com/blog/425762/201608/425762-20160803224643778-2071849037.png
    http://www.cnblogs.com/wupeiqi/articles/5729934.html

约法三章:
    1. 课下不看视频
    2. 笔记梗概
    3. 课下整理上课内容
    
课程安排:
    MySQL
    Web框架:
        - Python
        - 前端
        - MySQL
    项目实战:
        - 简单CURD
        - 保障系统(博客+BBS+后台管理)
        - CMDB资产管理
        - CRM
        - 堡垒机
    爬虫:
        - Scrapy
    其他:
        ...
            
MySQL
    
    单机程序(自己DB)
    
    单机程序(公用DB)

    MySQL:是用于管理文件的一个软件
        - 服务端软件
            - socket服务端
            - 本地文件操作
            - 解析指令【SQL语句】
        - 客户端软件(各种各样)
            - socket客户端
            - 发送指令
            - 解析指令【SQL语句】
        
        PS:
            - DBMS数据库管理系统
            - SQL语句
            
    技能:
        - 安装 服务端和客户端
        - 连接
        - 学习SQL语句规则;指示服务端做任意操作
        

    其他类似软件:
        关系型数据库:sqllite,db2,oracle,access,sql server MySQL
        非关系型数据库:MongoDB,redis
原文地址:https://www.cnblogs.com/zhen1996/p/9372470.html