数据库总结
数据定义语言DDL,数据查询语言DQL,数据操作语言DML,数据控制语言DCL
创建数据库:create database 数据库名;
查看数据库:show databases;
删库:drop database 数据库名;
创建表:
create table 表名(
列名 数据类型 约束,
列名 数据类型 约束
);
例如create table xxx (age varchar(10),name varchar(20));
数据类型 int,(0,4294967295),tinyint(0,255)(-128,127)
Float 7位小数,Double 15位小数
char 字符型,(0 - 255),varchar(0-65535)
查看数据库表show tables;
删表drop table 表;
复制表数据和结构(列,数据类型)create table 新表名 as (select * from 旧表名)
如果只复制表结构,不复制数据create table xxx like 旧表名
修改表名 alter table 表名 rename as 新表名
添加列 alter table 表名 add 列名 列类型
删除列alter tables 表名 drop 列名
主键:Primary Key 表中有一列或几列组合的值能用来唯一地表示表中的每一行,一个表只能有一个Primary Key
外键:Foreign Key,简单来说,子表中对应主表的列,在子表中称为外键,它的值要求与主表的主键或者唯一键相对应,一个表可以有多个外键
数据库三大范式:为了建立冗余较小,合理的数据库,必须遵守一定的规则,这种规则就叫范式。
第一范式:确保每列保持原子性,表中所有字段值都是不可分解的原子值。
第二范式:确保每个表都有一个主键
第三范式:确保每个属性都与表有直接关系
比如Student表(学号,姓名,年龄,性别,所在院校,院校地址,院校电话)
这样的表结构,我们应该拆开来,如下:
(学号,姓名,年龄,性别,所在院校)–(所在院校,院校地址,院校电话)
插入多行数据:
insert into 表名 (列名)values(值)
insert into 表名 (sname,sadd,sage)values(“aaa”,“bbb”,18)
(“bbb”,“qwe”,19)
每次插入一行数据,不能只插入半行或者几列数据
更新数据行:update 表名 set (列名=更新值)
update 表名 set scores=scores+5 where scores>=60
60分以上+5
删除数据turncate table 表名 = delete from 表名
使用truncate table 比delete from 效率高,由于它不会记录删除详细日志,因而删除的数据不能回滚,truncate table不能用于有外键约束引用的表
查询语句
select xxx from 表名 where 条件 limit 5,10(限制)
排除重复
select distinct 列名 from 表名
多条件查询
select * from 表名 where 条件=值 and/or 条件=值
范围选择
select 列名 from 表名 where age>=18 and age<=28
select 列名 from 表名 where age between 18 and 28
模糊查询
select 列名 from 表 where 条件 like 通配符
通配符:一个字符_ 例如 like “18_”
任意长度字符 like “1%”
升序
select * from 表名 where 条件 order by xxx
降序
select * from 表名 where 条件 order by xxx desc
- cordova学习一 环境搭建
- ChIP-seq实战分析
- PHP中9大缓存技术总结
- servlet中request等中文乱码问题
- Ofbiz模块加载机制即创建独立模块(脱离热部署)
- ofbiz连接mysql并创建独立数据库
- Angular+servlet java实现前后端数据交互
- servlet容器tomcat和jetty的简单使用
- activiti学习笔记(一) 获取流程配置实例
- ofbiz 服务引擎(一) controller中服务的调用解析
- ofbiz实体引擎(九) 多租户
- SparkStreaming入门
- 拒绝重复造轮子,用composer搞自己的框架(2)
- 拒绝重复造轮子,用composer搞自己的框架(1)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 从一次编译出发梳理概念: Jetty,Jersey,hk2,glassFish,Javax,Jakarta
- 《一起学sentinel》一、一起搭建sentinel服务
- InfluxDB和Grafana实现传感器数据的存储和可视化
- 样本相关性分析
- Android 序列化 Serializable与Parcelable
- 《一起学sentinel》二、初探sentinel的Slot
- Redis突然报错,今晚又不能回家了...
- 查询ElasticSearch:用SQL代替DSL
- Java开源框架中的设计模式以及应用场景
- 统一定制API返回格式,我只做了这几件事
- 《一起学sentinel》三、Slot的子类及实现之NodeSelectorSlot和ClusterBuilderSlot
- 《一起学sentinel》四、Slot的子类及实现之LogSlot和StatisticSlot
- 《一起学sentinel》五、Slot的子类及实现之AuthoritySlot和SystemSlot
- Python 之pyaudio使用随笔
- Determining 32 vs 64 bit in C++