sql注入大数据 爬虫Python AI SqlSQL server

【SQL】(基础篇)

2019-07-25  本文已影响2人  Alcazar
【介绍】数据库与数据库管理系统

专门用于创建和管理数据库的一套 软件, 介于应用程序和操作系统之间,如 MySQL、 Oracle、 SQL Server、 DB2等。结构图如下所示。

数据库系统架构图


关于SQL语言

SQL( Structured Query Language) 是 一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据,如存取数据、查询 数据、更新 数据等。
由以下四种语言构成:

【用于】数据库定义语言主要用于定义数据库、表等。

【例如】CREATE、ALTER、DROP

【用于】数据操作语言 主要用于对数据库进行添加、修改和删除操作。

【例如】INSERT、UPDATE、DELETE

【用于】数据查询语言主要用于查询数据;

【例如】SELECT

【用于】数据控制语言主要用于控制用的访问权限。

【例如】GRANT、COMMIT、ROLLBACK


【注释一下】SQL 对大小写不敏感!

【编程-好习惯】分号是在数据库系统中分隔每条 SQL 语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的语句。

如果使用的是 MS Access 和 SQL Server 2000,则不必在每条 SQL 语句之后使用分号,不过某些数据库软件要求必须使用分号。(最好还是写上)



数据库和表的基本操作

(1).创建数据库

(2).查看数据库

(3).查看某个数据库的创建信息

(4).修改数据库

(5).删除数据库


SQL 可以分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)

(结构化查询语言 (SQL)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

查询和更新指令构成了 SQL 的 DML 部分:

    SELECT - 从数据库表中获取数据
    UPDATE - 更新数据库表中的数据
    DELETE - 从数据库表中删除数据
    INSERT INTO - 向数据库表中插入数据

SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL 中最重要的 DDL 语句:

    CREATE DATABASE - 创建新数据库
    ALTER DATABASE - 修改数据库
    CREATE TABLE - 创建新表
    ALTER TABLE - 变更(改变)数据库表
    DROP TABLE - 删除表
    CREATE INDEX - 创建索引(搜索键)
    DROP INDEX - 删除索引

实例:

MariaDB [db_student_msg]> show tables;
+--------------------------+
| Tables_in_db_student_msg |
+--------------------------+
| tb_class                 |
| tb_score                 |
| tb_student               |
| tb_subject               |
+--------------------------+
4 rows in set (0.00 sec)

MariaDB [db_student_msg]> desc tb_student;
+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| stu_no    | char(8)     | NO   | PRI | NULL    |       |
| stu_name  | varchar(30) | NO   |     | NULL    |       |
| gender    | tinyint(1)  | NO   |     | NULL    |       |
| brith_day | datetime    | YES  |     | NULL    |       |
| class_no  | int(11)     | NO   | MUL | NULL    |       |
+-----------+-------------+------+-----+---------+-------+
5 rows in set (0.02 sec)
MariaDB [db_student_msg]> desc tb_score;
+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| stu_no     | char(8) | NO   | PRI | NULL    |       |
| subject_no | int(11) | NO   | PRI | NULL    |       |
| score      | double  | YES  |     | 0       |       |
+------------+---------+------+-----+---------+-------+

数据类型

mysql 提供了多种数据类型,包括:整数、浮点数、定点数、日期和时间、字符串和二进制类型。(这里就不详细阐述了...)

数据类型 存储范围 数据类型 存储范围
TINYNLOB 1~255字节 MEDIUMBLOB 0~16777215字节
BLOB 0~65535字节 LONGBLOB 0~4294967295字节

创建数据表
 【格式】:CREATE TABLE 表 名 (
字段 名 1   数据 类型[ 完整性 约束 条件],
字段 名 2   数据 类型[ 完整性 约束 条件],
...
字段 名 n, 数据 类型[ 完整性 约束 条件]
)
修改数据表

【格式】:alter table 旧表名 rename [to] 新表名

【格式】:alter table 表名 change 旧字段名 新字段名 新字段类型

 ALTER TABLE grade CHANGE name username VARCHAR( 20);

【格式】:alter table 表名 modify 字段名 数据类型;

【格式】:alter table 表名 add 新字段 数据类型[约束条件] [first|after 已存在的字段名]

【格式】:alter table 表名 drop 字段名

【格式】:alter table 表名 modify 字段名1 数据类型 first | after 字段2

【格式】:drop table 表名


关于表的约束

为了防止向数据库中插入错误的数据,在mysql中定义了一些约束规则。


表的约束

(1).【主键】:通过primary key 来定义,唯一且非空;

(2).【 非空约束】

(3).【唯一约束】

(4).【默认约束】


关于表中字段的自动增加
例如:
CREATE TABLE example05( id INT PRIMARY KEY AUTO_ INCREMENT, stu_ id INT UNIQUE, grade FLOAT );

索引

【解释】:索引就好像一本书的目录,用于快速检索数据。
索引分类:普通索引、唯一索引、全文索引。

【提高】:索引也可创建在多列上。


创建索引

在创建表的时候,如果创建索引,结构如下:

 CREATE TABLE 表 名(

字段名 数据类型[ 完整性 约束 条件],

字段名 数据类型[ 完整性 约束 条件], …

字段名 数据类型 [UNIQUE| FULLTEXT| SPATIAL] INDEX| KEY [别名] (字段 名 1 [(长度)]) [ASC|DESC]));

【解释一下】

分类探讨创建索引

【格式】:CREATE TABLE t1( id INT, name VARCHAR( 20), score FLOAT,name VARCHAR( 20), score FLOAT, INDEX (id) );

【格式】:CREATE TABLE t2( id INT NOT NULL, name VARCHAR( 20) NOT NULL, score FLOAT, UNIQUE INDEX unique_ id( id ASC) );

【格式】:CREATE TABLE t5( id INT NOT NULL, name VARCHAR( 20) NOT NULL,score FLOAT, INDEX multi( id, name( 20)) );


删除索引

【结构】:ALTER TABLE 表名 DROP INDEX 索引;

【结构】:DROP INDEX 索引 名 ON 表 名;


【重点】添加、更新、删除数据
添加数据

【结构】:INSERT INTO 表 名( 字段 名 1, 字段 名 2,…) VALUES( 值 1, 值 2,…);

【结构】:INSERT INTO 表 名 VALUES( 值 1, 值 2,…);

【结构】:INSERT INTO 表 名[( 字段 名 1, 字段 名 2,…) ] VALUES( 值 1, 值 2,…),( 值 1, 值 2,…), … (值 1, 值 2,…);

更新数据

【结构】:UPDATE 表 名 SET 字段 名 1= 值 1[, 字段 名 2 = 值 2,…] [WHERE 条件 表达式]

删除数据
上一篇下一篇

猜你喜欢

热点阅读