数据库基础汇总

1、数据库是按照一定的形式来组织存储数据,目的是为了对数据操作-增删改查;

2、发展历史:网状数据库->层次型数据库->关系型数据库->非关系型数据库(nosql);

3、关系型数据库逻辑结构
server服务器->Database数据库->Table表->Row(行)-Cloumn(列)

4、常见的关系型数据库

SQLite微型数据库
SQLserver只能用在windows系统
Oracle大型数据库,收费
MySql中小型数据库(免费)(瑞典)适用于各种操作系统

5、服务器套装:XAMPP软件

  1. mysql.exe 客户端负责向服务器端发起增删改查操作;
    mysqld.exe 负责存储数据;

  2. 使用客户端连接服务器端
    mysql.exe -h127.0.0.1 -P3306 -uroot -p或简写为
    mysql.exe -uroot
    ---------------h主机 ----------P端口- u用户名- p密码

  3. Mysql常用管理命令:
    quit-退出服务器连接
    show databases; -显示所有数据库
    use 数据库名;-使用数据库
    show tables;-显示数据库中的所有表
    desc 表名;-查看该表中的所有表头

  4. SQL命令(structured Query language结构化查询语言)
    作用:用于操作关系型数据库,对数据执行增删改查;
    两种执行方式:①交互模式,客户端输入一行,服务器执行一行,适用于临时性的查看数据;②脚本模式,客户端把要执行的多行命令写在一个文本文件中,一次性的提交给服务器,适用于批量的操作数据
    运行脚本方法:mysql -uroot <脚本文件路径

  5. SQL语法规范
    ①每条sql命令可以跨越多行,遇英文符号结束;
    ②假如某一条命令出现语法错误,则此条语句以及后边所有的语句都不会执行;
    ③sql命令不区分大小写,习惯上关键字大小,非关键字小写;
    ④sql命令有多行注释(/* */)和单行注释(#);

  6. 常用的sql命令
    创建新的数据库:CREATE DATABASE 数据库名;
    丢弃(删除)指定的数据库,表也可以丢弃:DROP DATABASE IF EXISTS 数据库名
    创建表:CREATE TABLE 表名(属性1,属性2…);
    向表中插入数据:INSERT INTO 表名 VALUES(‘ ’,‘ ’,‘ ’);
    查询数据:SELECT *FROM 表名;
    修复数据:UPDATE 表名 SET 属性;
    删除数据:DELETE *FROM 表名;

  7. 标准SQL命令分类
    DDL-Data Define Language-定义数据结构:CREATE/DROP/ALTER
    DML-Data Manipulate Language-操作数据:INSERT/UPDATE/DELETE
    DQL-Data Query Language-查询数据:SELECT
    DCL:Data Control Language-控制用户权限:GRANT/REVOKE
    设置客户端连接服务器端的编码为UTF-8:SET NAMES UTF8,解决存储中文乱码问题。

  8. mysql中的列的类型

类型字节数
TINYINT1
SMALLINT2
MEDIUNINT3
INT4
BIGINT8
FLOAT4
DOUBLE8
CHAR1
VARCHAR2
TEXT
BLOB
TINYBLOB
DATE
TIME
DATETIME
BOOLTRUE/FALSE
DECIMAL(M,D)定点小数,无误差

注意:①BOOL类型存储数据时会变成TINYINT类型,使用true和false是不能加单引号!②在插入数值类型时,引号可加可不加;③在插入字符串类型和日期时间类型时,必须加单引号!

  1. 列约束:mysql可以对插入的数据进行特定验证,只有满足条件才允许插入到数据表中,否则认为是非法的插入
    ①主键约束:PRIMARY KEY(不能为空)
    注意:主键是唯一的,不能出现多个主键;
    ②非空约束:NULL是不能确定的时候用的,NULL和任何值都不相等,包括他自己;
    ③唯一约束-UNIQUE,允许为空,一个表中可以出现多个唯一约束;
    ④检查约束-CHECK(条件),检查约束可以对插入的数据进行自定义条件验证,mysql不支持检查约束,会降低数据的插入速度;
    ⑤默认值约束-DEFAULT(默认值);
    ⑥外键约束-FOREIGN KEY REFERENCES 表(主键);

  2. mysql的自增列
    AUTO_INCREMENT:自增给编号设值;
    不足:自动寻找最大的进行自增赋值;只适用于整形的列上,自增列允许手动赋值;

  3. 简单查询
    查询列:SELECT * FROM 表名;
    给列起别名:SELECT 列名 AS 中文别名;在起别名的时候,AS可以省略;
    显示不同的记录、合并相同的记录使用DISTINCT;
    查询时计算,示例:SELECT 表达式;
    查询结果排序:ORDER BY #ascendant 升序ASC 降序DESC

  4. 条件查询
    字符串:WHERE …LIKE…“%多个字符、_单个字符”
    比较运算符:>、<、<=、>=、!=;
    BTWEEN …AND…
    NOT BTWEEN …AND…
    WHERE …OR…
    WHERE A AND B=WHERE IN(A,B)在A,B之间

  5. 分页查询
    假如查询的结果集有太多的数据,一次显示不完,可以使用分页显示;
    *每页的开始=(当前的页码-1)每页的数据量
    格式:LIMIT start, count------start每页的开始,count------每页的数据量。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页