SQL
数据库 DB
作用 电子文件柜 存储文件 进行增删改查等操作 多个用户共享
DB
关系型数据库
Mysql
Microsoft SQL Server
Oracle数据库
非关系型数据库 noSQL
键值(key-value)数据库
DBA:数据库管理员
数据库的设计 测试
DBMS: 数据库管理系统
用于建立,管理和控制 ,数据维护 保证数据安全性 等
DBAS: 数据库应用系统
DB + DBA+ DBMS +硬件平台+软件平台+应用软件+应用界面
SQL:结构化查询语言
特殊目的的编程
结构化查询语言(Structured Query Language)简称SQL,
是一种特殊目的的编程语言,
是一种数据库查询和程序设计语言,
用于存取数据以及查询、更新和管理关系数据库系统;
同时也是数据库脚本文件的扩展名。
net start mysql 开始
net stop MySQL 停止
P 默认3306
登录 mysql -u账户 -p密码
数字 int
字符串 varchar
浮点型 double
日期类型 date yyyy-MM-dd
字符串 char 0~255
SQL 1.事务 2.存储引擎 3. 索引 4.SQL优化 5. 锁
MySQL运维 1. 日志 2. 主从复制 3. 读写分裂 4.分库分表
基础
1.SQL
2.函数
3.约束
4.多表查询
5.事务
MySQL
数据模型 。客户端 -> DBMS ->数据库 ->表
表才是存储数据的!
SQL
SQL通用语法
SQL分类
1.DDL
2.DML
3.DQL
4.DCL
SQL通用语法:
1.SQL可以单行或多行书写 分号结尾
2.SQL语句可以使用空格 /缩进来增强可读性
3.大小写不区分:
4.单行注释 -- 或则 #
多行注释 /* */
SQL分类:
1.DDL :数据定义语言 数据库 表 列
2.DML: 数据操作语言 对表中的数据 增删改查
3.DQL: 数据库表中的数据 查询
4.DCL : 数据控制语言 创建用户 控制用户权限
.DDL:数据库操作
查询 SHOW DATABASES; show databases;
查询当前数据库 select database();
创建 create database 名称;
创建cat数据库 指定utf8mb4
create database cat default charset utf8mb4;
删除:drop database 名称;
删除 drop database if exists 名称;
使用 use 数据库名;
1.DDL:表操作 查询
1.show tables ;use进入数据库后 查询当前数据库的所有表
2.desc 表名;查询表结构
3.show create table 表名; 查询指定的表的建表语句
1.DDL:表操作 创建
1.create table 表名字(
字段1 空格 字段1类型[comment 字段1注释],
字段2空格 字段2类型[comment 字段2注释],
字段3空格 字段3类型[comment 字段3注释]
)[comment 表注释];
2.drop table 表名字; 删除表
3. desc 表名字; 查询表结构
对列的增删改查
1.添加列
2.删除列
DML 数据操作语言
约束两点
primary key 主键 值唯一 并且不能为空
auto_incre,emt 自动增长 数据可以由Mysql自己维护
增加 insert into 表(字段1) values (值1)
更新 updata 表名 set age = 25 ,address = '北京', where id = '3333'
删除 delete form 表名 where 条件;一条一条删
truncate table 表名;删表,按原来的表结构再弄出来
DQL 查询 得到都是虚表 不会改动真实数据
select * from 表名字; 用* 降低执行效率
select 列名字, 列名字 from 表名字;
select distinct 列名字, 列名字 from 表名字;去掉重复
select * from 表名字 as p ;表的别名
select 列名字 AS 新名字,列名字 as 新名字 from 表名; 列的起名字
查询特例
select * from 表名字 where 列名字 >200 ;
select * from 表名字 where 列名字 in (300,200,800) ;
select * from 表名字 where 列名字 between 440 and 3000 ;
重点 模糊查询 like
select * from 表名字 where pname like ‘下划线霸’ ;
select * from 表名字 where pname like ‘下划线霸 %’ ;
select * from 表名字 where pname like ‘%霸 %’ ;
NULL 查询
select * from 表名字 where 列名字 is null ;
select * from 表名字 where 列名字 is not null ;
降序 desc ;
命令:select * from 职工 order by 工资 desc ;
升序asc
命令:select * from 职工 order by 仓库号 asc ,工资 desc ;
求总的仓库面积
命令:select sum(面积) 总面积 from 仓库 ;