目录
一、基本概念:
SQL=Structured Query Language 结构化查询语言 即SQL是一种语言
DBMS==数据库管理系统,DBMS的分类,一种是基于共享文件系统(Access),一种是基于客户机-服务器(MySQL、Oracle...)
MySQL常用版本:5.7
二、安装注意:
1. MySQL的安装和卸载都需要用安装器完成,胡乱卸载最后可能会导致需要重装系统才能重新安装MySQL
2. 安装和卸载完成后都需要重启电脑
3. 默认端口号为:3306
4. 最高权限用户名为root
5.验证mysql安装成功的唯一方式:我的电脑→右键[管理]→服务和应用程序→在服务中找到MYSQL57→能正常进行启停服务即安装成功
6. 配置环境变量:把mysql.exe的路径放入path中
7. 登录mysql:win+R→cmd→
#登录自己电脑
mysql -u root -p
#随即输入密码即可
#登录公司服务器
mysql -h IP地址 -P 3306 -u root -p
#IP地址、端口号、用户名、密码都根据具体的设定
mysql -h localhost -P 3306 -u root -p
三、SQL的约束:
一共6种
not null | 非空 | |
default | 默认设置 | |
unique key(UK) | 唯一 | ?是否保证非空 |
primary key(PK) | 主键 | 非空+唯一 |
auto_increment | 自动增长 | 用过的数据不会回来, 即使把数据删了 |
foreing key(FK) | 外键 | 设置是:FK==非空+限制 FK可分析出谁是子表,谁 是父表 |
在新增表or数据时,父表优先于子表;在删除表or数据时,子表优于父表;
FK是否只能连接另一个表的PK?
四、数据库层面操作:
①查看所有的DB
#数据库的命令结束符为分号--- ;
#①查看所有的DB
show databases;
②新建数据库
#②新建数据库
create database DB_name;
create datebase DB_name default charset=utf8;
③删除数据库
#③删除数据库
drop database DB_name;
④进入/选择某个数据库
#④进入/选择某个数据库
use DB_name;
五、数据表层面操作:
①进入某数据库后查看有什么表
#①进入某数据库后查看有什么表
show tables;
②创建数据表
#②创建数据表
create table table_name(
字段 类型 [约束],
字段 类型 [约束],
...
字段 类型 [约束]
)default charset=utf8;
create table commodity(
id int(11) primary key,
name varchar(50) not null,
id_1 varchar(50) not null default '100',
cost int(11) not null,
constraint fk_1 foreign key (cost) references customer (id)
)default charset=utf8;
③ 类型和约束
#类型
int(11) char(2) varchar(50) date datetime...
#约束:
①primary key 主键
②not null 非空
③not null default '1234' 非空+默认设定
④id int(11) not null, constraint fk_1 foreign key (id) references student (no) 设定FK
④删除数据表
#④删除数据表
drop table table_name;
⑤查看数据表具体内容
#⑤查看数据表具体内容
desc table_name;