首页 > 代码库 > 看到别人写的代码,我该从何入手

看到别人写的代码,我该从何入手

    如今社会代码横行的年代,到处都是代码,看到代码自己一脸懵逼,该怎末办,从头再学,还是保持原态。社会已经被代码侵占,没有代码,社会将不知何去何从。

    比如:

mySQL:是用于管理文件的一个软件

    - 服务端软件

        - socket服务端

        - 本地文件操作

        - 解析指令【SQL语句】

    - 客户端软件(各种各样)

        - socket客户端

        - 发送指令

        - 解析指令【SQL语句】


    PS:

        - DBMS:数据库管理系统

        - SQL语句


需要掌握的技能:

    - 安装 服务端和客户端

    - 连接

    - 学习SQL语句规则;指示服务端做任意操作



其他类似软件:

    关系型数据库:sqllite,db2,oracle,access,sql server MySQL

    非关系型数据库:MongoDB,redis

MySQL安装

Windows:

    可执行文件安装:

        while True:

            下一步

    压缩包

        放置任意目录

        初始化

            服务端:E:\somewhere\mysql-5.7.16-winx64\bin\mysqld --initialize-insecure

                    # 默认用户名 root 密码:空

        启动服务端:

            E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin\mysqld\mysqld


        客户端连接:

            E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin\mysqld\mysql -u root -p 


        发送指令:

                show databases;#查看数据库

                create database db1;创建数据库


        环境变量的配置:

            E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin

            mysqld   添加到系统环境变量PATH


        windows服务:(制作成为Windows服务,可开机自动运行)

            E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin\mysqld --install

            net start MySQL


            E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin\mysqld --remove


            net start MySQL

            net stop MySQL

关于连接数据库

连接:


    默认:用户root


    show databases;


    use 数据库名称;    #使用数据库


    show tables;      #查看数据表


    select * from 表名;     #查询


    select name,age,id from 表名;


    mysql数据库user表    #系统自带(存放mysql用户账号信息)

    use mysql;

    select user,host from user;



    创建用户:

          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‘@‘%‘;

学习SQL语句规则

操作文件夹

    create database db2;

    create database db2 default charset utf8; *****

    show databases;

    drop database db2;


操作文件

    show tables;

    create table t1(id int,name char(10)) default charset=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;  *****


    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: 是否为空

        数据类型:


            数字:(注意区分有无符号,unsigned,signed)

                tinyint

                int

                bigint


                FLOAT

                    0.00000100000123000123001230123

                DOUBLE

                    0.00000000000000000000100000123000123001230123

                    0.00000100000123000000000000000

                decimal (精确小数表示,底层用字符串实现,推荐使用)

                    0.1


            字符串:

                char(10)      速度快()


                varchar(10)   节省空间


                PS: 创建数据表定长列往前放


                text类型:最大字符65535


                上传文件: 

                    文件存硬盘

                    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 bigint auto_increment primary key,

        name varchar(32),

        department_id int,



        constraint fk_user_depar foreign key (department_id) references department(id),



    )engine=innodb default charset=utf8;


    create table department(

        id bigint auto_increment primary key,

        title char(15)

    )engine=innodb default charset=utf8;


本文出自 “11923848” 博客,请务必保留此出处http://11933848.blog.51cto.com/11923848/1933259

看到别人写的代码,我该从何入手