Note/数据库导论/笔记/数据库笔记01——数据库使用笔记.md

227 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

services.msc
## mysql无大小写区分
安装目录C:\Program Files\MySQL\MySQL Server 8.0\bin
### 登录命令:
```mysql
mysql -h localhost -u root -p
-h 服务器地址
-u 登录数据库用户名(root 管理员)
-p 密码
也可
mysql -u root -p
```
passWord8520
### 展示已存在数据库
```mysql
show databases;
```
### 创建数据库
```mysql
create database jwxt;
```
### 改数据库支持中文字符集
```mysql
set character_set_database='gbk';
set character_set_server='gbk';
```
### 删除数据库(不可恢复,删除之后就没了)
```mysql
drop database 教务系统;
```
### 判断是否执行操作
```mysql
create database if not exists jwxt;
```
### 进入数据库
```mysql
use jwxt;
```
### 字段
```
create table(
ID char(6) not null primary key,
);
字段名 ID
数据类型 char(6)
```
### 联合主键(设置两个以上主键):
```
primary key( stID,kcID )
```
### 约束条件:
| | |
| --------------------------------------------- | -------------- |
| 主键 | primary key, |
| 不允许为空 | null |
| 唯一(设置内容不能重复) | unique |
| 外键 | |
| 自增第一个为1以后自增一般主键设置整数 | auto_increment |
| 默认值 (后面跟默认值) | defult |
### 从表(自表)的外键做为主表(父表)的主键
```mysql
foreign key (从表的外键字段名)
references 主表(字段)
```
### 给外键起名字
```mysql
constraint 名字
```
### 查看表
```mysql
SHOW COLUMNS FROM 表名;
describe 表名;
```
### 创建表
```mysql
create table salary(
employeeid char(6) not null primary key,
income float(8) not null,
outcome float(8) not null
);
```
### 1.修改表名rename
```mysql
alter table salary rename salary2
salary 修改前
salary2 修改后
```
### 2.修改字段的数据类型modify
```mysql
alter table employees modify name varchar(20);
employees 表名
name 字段名
varchar(20) 数据类型
```
### 3.修改字段名change
```mysql
alter table employees change name employees_name varchar(20);
employees 表名
name 修改前字段名
employees_name 修改后字段名
varchar(20) 数据类型
//数据类型不能为空,但是可以和修改前一样,也可同时修改
```
说明change 也可以指修改数据类型,实现和 modify 相同的效果,方法是将 sql 语句中的新字段名和旧字段名设置为相同的名称,只修改数据类型。
### 4.添加字段add
```mysql
alter table salary add shuishou float(8) not null first;
salary 添加的表名
shuishou 添加的字段
float(8) 添加自段的类型
not null 约束条件(包括外键,主键等等)
first 添加表的位置 (可选项)
after 字段名 在字段名之后添加
```
### 5.删除字段 drop
```mysql
alter table salary drop shuishou;
salary 表名
shuishou 字段名
```
### 6.修改字段排列顺序modify
```mysql
alter table salary modify shuishou float after income;
salary 表名
shuishou float 需修改顺序的字段名以及数据类型
income 目标字段之后(first最前面
```
### 7.添加外键约束add
```mysql
alter table salary add foreign key (employeeid) references employees (employeeid);
salary 修改表
(employeeid) 字段名
employees 参考主表
(employeeid) 参考主表字段名
```
### 8.添加主键约束add
```
alter table salary add primary key (employeeid) references employees (employeeid);
salary 修改表
(employeeid) 字段名
employees 参考主表
(employeeid) 参考主表字段名
```
### 9.修改表的存储引擎 默认为InnoDB
```mysql
alter table 表名 engine=更改后存储引擎名;
```
注意:外键不能跨引擎使用
### 10.删除外键约束
```mysql
alter table salary drop foreign key 外键名字;
```
若没有命名外键名,则课可以先使用**show create table 表名**查询表的默认外键名,此命令不仅可以查询外键名,还可以查询表的结构、存储引擎、编码方式等信息
查询到默认外键名后再用drop删除即可即 alter table 表名 drop foreign key 查询到的默认外键名;
### 11.删除数据表
```mysql
drop table 表名;
```
**注意:当存在外键约束时,主表不能直接删除,需要先删除外键约束再删表**
### 12.清空表
```
delete from 表名;
```
select * from tmp3