MYSQL基础知识的复习1
数据库(是存放数据的仓库)
1.根据存储量以及安全性上来划分:
- 大型数据库:DB2 Oracle(毕业) Hbase 银行 公安局(不加班 没网) 移动
- 中型数据库:mysql sqlserver(.net) mogodb (mysql:阿里用)
- 小型数据库:access 校网
中型数据库:mysql
卸载
1.在控制面板卸载mysql
2.在注册器上删除mysql的注册信息:win + R regedit
3.删除c盘下 program file/mysql
4. win7
win10
安装
mysql中常见的命令
-- 创建数据库
CREATE DATABASE 数据库名;
-- 删除数据库
DROP DATABASE 数据库名;
-- 切换数据库
use 数据库名;
-- 创建表
create table 表名(
字段名 数据类型,
字段名 数据类型,
...
);
数据类型:
- 字符串:chr/varchar
- 表示整数: int/bigint
- 小数:float/double
- 日期:date
- 日期时间:datetime
例:
create table t_user(
userid int,
username varchar(20),-- 20 最高可以表示20个字符
password varchar(20),
birth date
)
-- 删除表
drop table t_user;
-- 修改表结构
- 增加一列:alter table 表名 add column 列名 数据类型;
- 删除一列:alter table 表名 drop column 列名;
- 修改列的数据类型:alter table 表名 modify 列名 新的数据类型;
练习:创建一个商品表 - 字段:商品编号、商品名称varchar(3)、商品价格、商品生产日期。
- 增加一个字段:保质期。
- 把商品名称varchar(3)改成varchar(50)。
create table product(
p_id int,-- 设置表的商品编号列,数据类型为int
p_name varchar(3),-- 设置表的商品名称列,数据类型为varchar
p_price float,-- 设置表的商品价格列,数据类型为float
p_birthday datetime
);
alter table product add column p_keep int;
alter table product modify p_name varchar(50);
- 创建表的约束:限制该字段的内容
- 主键约束(primary):标识每一条记录的。 特点:唯一、非空、一张表中只能有一个主键
- 表创建好了怎么添加主键约束
alter table 表名 add contraint 约束名 primary key (列名); - 建表的时候添加
列名 数据类型 primary key,
primary key(列名1,列名2),-- 联合主键
- 表创建好了怎么添加主键约束
- 唯一约束(unique):内容唯一
- 表创建好:
alter table 表名 add contraint 约束名 unique (列名); - 建表的时候添加:
列名 数据类型 unique,
- 表创建好:
- 非空约束(not null):
- 建表的时候添加:
列名 数据类型 not null,
- 建表的时候添加:
- 默认约束(default):如果该列没有添加内容那么该列采用默认值
- 建表的时候添加:
列名 数据类型 default 默认值,
- 建表的时候添加:
- 检查约束(check):但是mysql不支持该约束。
- 建表的时候添加:
列名 数据类型 check (条件),
- 建表的时候添加:
- 外键约束(foreign):
1.在一张表中一个字段的值引用另一张表中主键的值。一对多在多的一方添加外键,建好所有表结构以后添加
alter table 表名 add constraint 约束名 foreign key (列名) references 表名(列名);
练习:
- 主键约束(primary):标识每一条记录的。 特点:唯一、非空、一张表中只能有一个主键
CREATE DATABASE Company;
use Company;
create table Department(
dept_id int primary KEY,
dept_name char(10) not null
);
create table Emp(
e_id int primary key,
e_name char(10) not null,
e_sex char(2) default '男' check('男' or '女') ,
e_birthday datetime,
party char(2) check('是' or '否'),
e_jointime datetime,
dept int,
np char(10)
);
create table Salary(
emp_id int,
mon int check(mon between 1 and 12),
base_salary double check(base_salary >= 0),
allowance double check(allowance >= 0),
subsidy double check(subsidy >= 0),
bonus double CHECK(bonus >= 0),
deduct double check(deduct >= 0),
revenue double check(revenue >= 0)
);
alter table Emp add constraint aa foreign key (dept) references Department(dept_id);
alter table Salary add constraint ab foreign key (emp_id) references Emp(e_id);
往表中插入数据
1.插入全部字段的数据
insert into 表名 values(值1,值2,值3...);-- values后面的值个数一定要和表字段的个数匹配
2.插入部分字段的数据
insert into 表名(字段,字段...) values(值1,值2...);--
删除表中的数据
1.删除所有的数据
delete from 表名;
2.根据条件删除满足条件的记录
delete from 表名 where 条件;
条件:
关系运算符:>,<,>=,<=,=,!=
逻辑运算符:and(且) or(或)
其他:between 值1 and 值2 大于等于值1小于等于值2
in(值1,值2...)
is null
is not null
模糊: like 和 通配符 _ 表示通配一个字符 %表示多个字符
MYSQL基础知识的复习1的更多相关文章
- MYSQL基础知识的复习3
聚合函数 max():求最大值 例:求最高工资 select max(sal) from emp; min():求最小值 例:求最小工资 select min(sal) from emp; avg() ...
- MYSQL基础知识的复习2
1.修改表中的数据 update 表名 set 要修改的字段 where 条件;-- 如果修改多个字段那么字段和字段之间用逗号隔开 2.查询(很重要) 1.查询表中部分字段: select 字段名,字 ...
- mysql基础知识大全
前言:本文主要为mysql基础知识的大总结,mysql的基础知识很多,这里作简单概括性的介绍,具体的细节还是需要自行搜索.当然本文还有很多遗漏的地方,后续会慢慢补充完善. 数据库和数据库软件 数据库是 ...
- mysql基础知识语法汇总整理(二)
mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...
- mysql基础知识语法汇总整理(一)
mysql基础知识语法汇总整理(二) 连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...
- MySQL 基础知识梳理
MySQL 的安装方式有多种,但是对于不同场景,会有最适合该场景的 MySQL 安装方式,下面就介绍一下 MySQL 常见的安装方法,包括 rpm 安装,yum 安装,通用二进制安装以及源码编译安装, ...
- MySQL基础知识:启动管理和账号管理
整理.记录常用的MySQL基础知识:时间久了,很多就忘记了. 操作系统环境为MacOS Catalina, MySQL版本为: 8.0.13 MySQL Community Server - GPL. ...
- MySQL基础知识:创建MySQL数据库和表
虚构一个微型在线书店的数据库和数据,作为后续MySQL脚本的执行源,方便后续MySQL和SQL的练习. 在虚构这个库的过程中,主要涉及的是如何使用命令行管理 MySQL数据库对象:数据库.表.索引.外 ...
- MySQL基础知识:Character Set和Collation
A character set is a set of symbols and encodings. A collation is a set of rules for comparing chara ...
随机推荐
- vue第三单元(webpack的应用-能根据具体的需求构建对应的开发环境)
第三单元(webpack的应用-能根据具体的需求构建对应的开发环境) #课程目标 理解什么是单页面应用. 掌握单页面和多页面的差异. 了解单页面的实现原理. 掌握模块化的方式实现webpack配置,区 ...
- 基于XGBoost模型的幸福度预测——阿里天池学习赛
加载数据 加载的是完整版的数据 happiness_train_complete.csv . import numpy as np import pandas as pd import matplot ...
- Spring Cloud Alibaba基础教程-Nacos(三)
在Spring Cloud Alibaba基础教程-Nacos(二)当中学习了,如何使用 nacos图形化界面操作 ,使用Nacos部署集群,下面我们开始Nacos最后一篇的学习 ,如果对你有帮助,记 ...
- K8S构建1台master2台node+Harbor_笔记
部署环境: master.node:centos7虚拟机 网络使用本地网卡共享到VMnet1(仅主机),虚拟机使用VMnet1. 准备文件: CentOS-7-x86_64-Minimal-1810. ...
- RESTful API风格
前言 之前写的接口,有用过Webservices,MVC,ashx,但都没个统一的请求规范,随百度. 参考链接,原文出处 http://www.ruanyifeng.com/blog/2014/05/ ...
- 2.mysql explain命令详解
EXPLAIN详解 SQL编写和解析 编写过程 select-distinct-from-join-on-where-group by-having-order by-limit- 解析过程 from ...
- PHP代码审计05之正则使用不当
前言 根据红日安全写的文章,学习PHP代码审计的第五节内容,题目均来自PHP SECURITY CALENDAR 2017,讲完题目会用一道CTF的题目和实例来加深巩固.这是之前写的,有兴趣可以去看看 ...
- Android驱动-Java入门学习(java安装)
在ubuntu 14.04上java开发环境. 下载 jdk-7u75-linux-x64.tar.gz 使用tar xvf jdk-7u75-linux-x64.tar.gz 解压 在/usr/li ...
- Python获取网页html代码
获取网页html代码: import requests res = requests.get('https://www.cnblogs.com/easyidea/p/10214559.html') r ...
- CI持续集成理论知识
(1)什么是CI What is CI? CI就是持续集成,持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过 ...