网络安全从入门到精通 (第二章-2) 后端基础SQL—MySQL数据库简介及SQL语法

1,什么是数据库?

  数据库就是将大量数据保存起来,通过计算机加工,可以高效访问的数据聚合。

  数据库就是长期存储在计算机内,有组织、可共享的集合。

2,常见的数据库:

  Oracle Database    甲骨文公司

  SQL Server       微软公司

  DB2          IBM公司

  POSTGRESQL     开源

  MySQL         开源

  Access         微软公司

注意:虽然数据库各种各样,但是数据库语句之间具有相同之处。

3,数据库基本知识:

  数据库结构:

  服务器端:接收并处理其他程序发出的请求的程序(软件),或安装此类程序的设备(计算机)。

  客户端:向服务器发送请求的程序(软件),或安装此类程序的设备(计算机)。

  库:就是一堆表的数据集合。

  表(table):类似于Excle,由行和列组成的二维表。

  字段:表的列(垂直方向),可以理解为表的表头。

  记录:表的行(水平方向),可以理解为表的数据。

注意:关系型数据库必须以行为单位进行数据读写。

SQL语句种类:

  SQL语句:是由关键字,表名、列名组合成的一条语句。

  三种SQL语句种类:

    DDL(数据定义语言):创建、修改、删除数据库以及数据库中的表等对象。

      CREATE:创建数据库和表等对象。

      DROP:删除数据库和表等对象。

      ALTER:修改数据库和表等对象。    

    DML(数据操作语言):查询或修改表中的记录。

      SELECT:查询表中的数据。

      INSERT:向表中插入数据。

      UPDATE:修改表中的数据。

      DELETE:删除表中的数据。

    DCL(数据控制语言):确认或取消对数据库中的数据变更的执行操作,以及对用户的操作数据库中对象权限的设定。

4,基本SQL语法:

注意:所有SQL语句结尾一定要用英文分号;

  数据库操作:

    新建数据库:    CREATE DATABASE 库名;

    查看所有数据库:  SHOW DATABASES;

    查询当前库名:   SELECT DATABASE();

    删除数据库:    DROP DATABASE 库名;

    使用数据库:    USE 库名;

  数据表操作:

    新建表:      CREATE TABLE 表名(字段名,字段类型);

    查看所有数据表:  SHOW TABLES;

    删除表:      DROP TABLE 表名;

    查看表的类型:   DESC 表名;

    删除表的字段:   ALTER TABLE 表名 DROP 字段名;

    添加表的字段:   ALTER TABLE 表名 ADD 字段名 字段类型;

    修改表的字段:   ALTER TABLE 表名 CHANGE 字段名 修改字段名,修改字段类型;

   补充:

    字段具有属性:

      主键:PRIMARY KEY   不能为空且唯一

      自增长:AUTO_INCREMENT

      非空:NOT NULL

      设置编码类型:CHARSET=UTF8

  数据类型:

    字符串类型

    整数类型

    浮点类型

  数据操作:

    插入数据:INSERT INTO 表名 values('数据');

    插入数据:INSERT INTO 表名 (字段名) values ('数据');

    查询数据:SELECT * FROM 表名    查询一个表里的所有字段的数据。

    查询数据:SELECT 字段 FROM 表名   查询一个表里某字段的所有数据。

    修改数据:UPDATE 表名 SET 字段='记录'

    修改数据:UPDATE 表名 SET 字段='记录' WHERE 字段=某条件(某记录)。

    删除数据:DELETE FROM 表名 WHERE 字段='记录'。

  补充:

    具有and、or的使用。

    Mysql字符串是可以接受16进制的。

    SQ注入,注入数据不准使用单引号时,可以使用十六进制转换替代,用0x表示。

    注意:十六进制只能代表数据,不能代表其他东西,比如执行语句等。

        SQL语句本身不区分大小写,但是数据区分大小写。      

    采用关键字大写,表名和列名首字母大写的格式。

    单词使用英文空格或换行符隔开。

    常书写的方式:

      字符串、日期:用单引号括起来''

      数字:直接书写,不用加单引号。

与君共勉:

  生活给你压力,

  你就还它奇迹;

  人生给你考验,

  你就还它经验。

  没有什么能难倒自己,

  只要你愿意坚持,

  愿意付出,

  成功就会眷顾你。

相关推荐
代码小书生1 天前
getpass,一个安全输入的 Python 库!
开发语言·python·安全
それども1 天前
怎么理解TCP的状态
java·网络·网络协议·tcp/ip·dubbo
其实防守也摸鱼1 天前
告别单个变量,用列表和字典批量管理你的 Python 数据
开发语言·网络·软件测试·python·web安全·数据结构,编程教程
欧神附体1231 天前
计算机网络之专业名词中英文解释(第一弹)
网络
ylscode1 天前
Pentest Swarm AI:开源群体智能架构如何重构自主渗透测试的边界
网络·安全·安全威胁分析
weixin_429630261 天前
3.51 Centra-Net:一种跨场景的集中式视觉定位网络
网络
m0_738120721 天前
渗透测试基础——黑盒测试下的Web漏洞挖掘与利用解析(二)
服务器·前端·python·网络协议·安全·网络安全
江华森1 天前
Linux 内核调优 + TCP/IP 协议栈深度解析 + 低延迟网络优化
linux·网络·tcp/ip
范范@1 天前
Python进阶 网络编程笔记-多进程
网络·笔记·python
很懒的程序员雄1 天前
华为eNSP静态路由实验教学
网络