数据库基础

动态网站:
程序:JAVA APPLET (JAVA虚拟机)将可执行文件下载至客户端在环境中运行
服务器执行:
静态资源(图片,jpeg,html,plaintext)
动态资源:程序

硬编码:

echo "
<h1>hello world</h1>
"
The time is :abc //abc是一段程序

可嵌入html中的web开发机制————分体式结构 例如php
程序=指令+数据
程序=算法+数据结构
文本数据库的缺陷:
数据冗余和不一致 //冗余:重复不一致,相同条目,参数不同
数据访问困难
数据孤立
完整性问题
原子性问题
并发访问问题
安全性问题
数据模型:
层次型:导致树状结构
网状结构: 冗余大
1973 IBM code关系模型:
库和表 Nosql是一种递归缩写:Not only sql。利用现代海量数据重新焕发青春
cap理论
在这里插入图片描述
表是一种二维关系,有横和列组成一种独特的数据结构,一个表可以没有横但不可以没有列
笛卡尔乘积 (a+b)(c+d)=ac+ad+bc+bd
LAMP:Linux + Apache + Mysql + php/perl/python
开源数据库:sqlite 嵌入式系统
mysql postgresql 前身比orghcle先进,在伯克利大学诞生
MariaDB (开源,比mysql先进)
mysql
查找数据时根据索引文件来定位,索引文件有3级索引
在一定程度上提升读性能,降低了写性能,表现为目录。
事务:
满足ACID测试 A:原子性 C:一致性 I:隔离性 D:持久性
SQL:Struct Query Language 结构化编程语言
DCL:Data Control Language
DDL: Data Defination Language
DML: Data Mainpulation Language
ODBC:Open Data Base Connectivity
ANSI:
SQL-86、SQL-89、SQL-9、SQL-99、QL-2003
在这里插入图片描述
安装MYSQL:sql.com
1.vedor(操作系统提供商):操作系统自带的RPM包
2.MYSQL官方RPM包
3.通用二进制格式
4.源码编译
mysql客户端:
–user=username 指定用户 未指定为管理员
-u=username
-p 设置密码 未指定为空
–password
-h Hostname 指定联入主机 未指定为localhost
用户账号两部分组成 用户@主机
mysql mysqld
配置文件再my.conf中,客户端与服务器共享配置文件
[MySQL][mysqld] [client]
mysql: -u; -h; -p;
两类默认用户:root:127.0.0.1 给root用户添加密码
localhost
hostname
::1 本机回环地址
”:localhos 匿名用户在默认配置中是打开的,所以要关闭
Hostname
mysql客户端:
客户端命令
服务器命令::需要语句终止符,通常默认为分号(?,可更改。
命令帮助的获取:
mysql>help KEYWORD 若使用此命令需要展开help文档,在安装mysql时自动展开help文档
命令不区分大小写,但与文件系统相关的部分则根据OS的不同有可能需要区分大小写
客户端命令:
\q 退出 \? 相当于help \G 字段量过大时以行显示,并做为终止符 \g 作为终止符 \c 命令不再执行
服务端命令:BIF
SELECT可运行函数可执行算术,挑选表格
SELECT user ():内置函数,结果以表格显示
SELECT col1,col2,…FROM tb1,tb2,…WHERE clause;
选取和投影
投影:从表中挑选指定字段
SHOW DATABASES:显示所有可查看的库
SHOW TABLES:显示某库的所有表
use database_name:表示设定默认酷
CREATE DATABASE database_name;
DROP DATABASE database_name;
mysql:
交互式模式
批处理模式
mysql < test.sh sql脚本
约束:constraint
1.主键约束:把某些字段定义为主键,则这些字段不能相同,也不能为空。只能有一个主键
2.外键约束:
3.唯一键约束:字段惟一,可以为null。可以有多个
4.检查约束:用户自定义有效值范围,
5,非空约束 键:
key (候选键:能够作为唯一标识的所有键)
主键:惟一标识表中每一个记录的字段或字段的组合
外键:
唯一键:
候选键:
创建表:table 由行和列组成的二维关系
字段:字段名,字段约束,字段类型
字符型: char(#):固定长度,例如char(30)
vchar(#):填几个占几个,小于#个(不区分大小写)
binary(#):相当于char(#)固定长度
varbinary(#):相当于vchar
text:特别长的长度,不区分大小写
blob:特别长的长度,区分大小写。binary large object
数值型: 精确数值型:int(整型)decimal(按照十进制来保存数值)
int:tinyint(微整型)smallint(小整型)int(整型)mediumint(中整型)
近似数值型:float double 日期时间型 date:3字节 time:3字节 datetime:8字节 timestamp:自1970年1月1日至现在的秒数
布尔型: null
内置类型:
ENUM:字符性,枚举类型:只能挑选列表中的某一个
SET: 集合类型:挑选几个组合一块
数据类型: 比较方式 存储空间:取值范围 参与的运算
创建的表: CREATE TABLE tb_name PRIMARY KEY,
主键 UNIQUE KEY,
插入数据:
INSERT INTO tb_name (col1,col2,…)VALUE|VALUES(VAL1,VAL2,…);
INSERT INTO tb_name
查询数据
SELECT col1,col2 FROM tb_name WHERE

  • < >= <=
    LIKE:通配符 %:任意长度的任意字符 _:任意单个字符
    组合条件: and or not RLIKE
    正则表达式
    删除数据: DELETE FROM tb_name
    删除表 DELETE FROM tb_name WHERE clause
    更新数据: UPDATE tb_name SET clause
    0000 0010 1000 1110 :上
    字符的二进制代码每个汉字占2个字符
    GBK GB2312 GB18030 uhf-8
    总结:
    1.数据类型
    字符型
    char varchar text 不区分大小写
    binary varbinary blob 区分大小写
    数值型 精确:int,decimal,tinyint,smallint,mediumint,int,bigint
    近似:float,double 日期时间型:date,time,datetime,timestamp
    内置类型:enum,set
    布尔型:null
    2.DDL: CREATE,DROP CREATE DATABASE CREATE TABLE DROP DATABASE DROP TABLE
    3.DML: INSERT,DELETE,SELECT,UPDATE
    4,属性查看 mysql服务器的工作特性的定义是通过服务器实现的
    SHOW VARIABLES; 查看服务器变量
    SHOW {GLOBAL | SESSION} VARIABLES [LIKE clause]; 而mysql服务器运行的工作特性的状态是通过状态变量输出的。
    SHOW {GLOBAL | SESSION} STATUS [LIKE clause];
    php执行php脚本代码一般分为4个步骤 扫描–>分析–>编译–>执行
    PHP:PHP is Hypertext Preprocessor
    bing:bing is not google

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值