数据库(是存放数据的仓库)
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 和 通配符 _ 表示通配一个字符 %表示多个字符