欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Day06-mysql

程序员文章站 2022-03-22 13:20:52
数据库 进入数据库 mysql -u用户名 -p密码 数据库层次 数据库的创建 create database 数据库的名 character set 字符集 collate 校对规则 数据库的删除 drop database 数据库名 数据库的修改 alter database 数据库 chara ......
 

数据库

进入数据库 mysql -u用户名 -p密码

数据库层次

  • 数据库的创建

create database 数据库的名 character set 字符集 collate 校对规则

  • 数据库的删除

drop database 数据库名

  • 数据库的修改

alter database 数据库 character set 字符集(utf8)

  • 数据库的查询

show databases; show create database 数据库的名字 select database();

  • 数据库的切换

use 数据库的名字

表层次

  • 表的创建:

create table 表名( ​列名 列的类型 列的约束, 列名 列的类型 列的约束 )

列的约束:

primary key: 主键约束:唯一不为空

primary(sid,age)联合主键:只生效一个

unique: 唯一约束:值可为空,可以加多个null, 一个表可以多个unique .

​not null: 非空约束

​自动增长: auto_increment

default:‘默认语句’   。 这里的语句会自动执行,无需数据填写

也可以写上null 。

  • 表的删除

drop table 表名

  • 表的修改

alter table 表名 (add, modify, change , drop) ​rename table 旧表名 to 新表名 ​

alter table 原表名 rename 新的表名

alter table 表名 character set 字符集

  • 查询表结构

show tables; 查询出所有的表

show create table 表名 : 表的创建语句, 表的定义 desc 表名  表的结构

 外键:

商品表和分类表数据通过外键category_cid相连。

外键作用进行多表数据关联。 多表关系中是存在主表从表的

 主表数据来源表/主键id所在表

例如分类表----是分类名称数据的来源表主键cid所在表

从表数据引用/外键所在表

例如商品表---引用了分类表数据外键category_cid所在表

外键特点

从表外键指向主表主键

从表外键的数据类型和长度必须和主表主键数据类型和长度 一致

声明外键约束:是为从表添加

格式:

alter table 从表 add  [constraint  外键名称]  foreign key (从表外键字段名) references 主表 (主表的主键);

 

1、 从表外键的数据类型和长度必须和主表主键数据类型和长度 一致

 

2、从表和主表为空或者数据必须完整

 

l删除外键约束:(了解,开发慎用) 

 

alter table 从表 drop foreign key 外键名称

添加多对多外键实例:

create table actor(
    aid int primary key,
    name varchar(30)
);
create table role(
    rid int primary key,
    name varchar(30)
);
create table actor_role(
arid int primary key ,
aid int,
rid int
)
alter table actor_role add foreign key(aid) references actor(aid);
alter table actor_role add foreign key (rid) references role(rid);

 

添加一对多外键实例:

create table province(
    id int primary key,
    name varchar(20),
    description varchar(20)
);
create table city(
    id int primary key,
    pid int ,
    name varchar(20),
    description varchar(20)
);
drop table city ;
alter table city add foreign key (pid) references province(id) ;

 

 

 

 

 

 

  • 表中数据的操作

插入: insert into 表名(列名,列名) values(值1,值2);

​删除: delete from 表名 [where 条件] ​

修改: update 表名 set 列名='值' ,列名='值' [where 条件]; ​

查询: select [distinct] * [列名1,列名2] from 表名 [where 条件]

  • 其他

as关键字: 别名 where条件后面:

关系运算符: > >= < <= != <> --

判断某一列是否为空: is null is not null

​in 在某范围内 ​between...and ​

逻辑运算符: and or not ​

模糊查询: like ​_ : 代表单个字符 ​%: 代表的是多个字符 ​

分组: group by ​ 分组之后条件过滤: having

​聚合函数: sum() ,avg() , count() ,max(), min() 排序: order by (asc 升序, desc 降序) ​

 

数据库的备份:

导出: mysqldump -uroot -p密码 目标库>f://aa.sql [导出文件路径]  会自动创建

导入:mysql -uroot -p密码 目标库<f:/sss.sql 【路径】 需要手动创建好一个数据库 然后导入到这个数据库。

推荐阅读