看到別人寫的代碼,我該從何入手

    如今社會代碼橫行的年代,到處都是代碼,看到代碼自己一臉懵逼,該怎末辦,從頭再學,還是保持原態。社會已經被代碼侵佔,沒有代碼,社會將不知何去何從。

    比如:

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;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章