我会好好学MySQL的!!!

数据库基本操作

查看数据库

show databases;(所有数据库)
show databases like ‘test’;(test数据库)
show databases like ‘test%’;(test开头的数据库)
show databases like ‘%test’;(test结尾的数据库)
show databases like ‘%test%’;(包含test的数据库)

show create database test;(查看test数据库的全局特性)


创建数据库

create database IF NOT EXISTS test
DEFAULT CHARACTER SET gb2312(字符集名)
DEFAULT COLLATE gb2312_chinese_ci;(校对规则名)(修改数据库的全局特性)


修改数据库

alter database test
DEFAULT CHARACTER SET gb2312(字符集名)
DEFAULT COLLATE gb2312_chinese_ci;(校对规则名)(修改数据库的全局特性)


删除数据库

drop database test;(test数据库)


选择数据库

use test;(test数据库)


注释

#我是行注释
– 我是行注释
/* */我是多行注释


帮助

help contents;


数据表基本操作

查看数据表

show tables;(所有的表)
desc tb;(tb表结构)
show create table tb\G;(tb表的详细信息,包括约束)


创建数据表

use db;
create table tb(
id int,
name varchar(25),
salary float
);(tb数据表)


修改数据表

alter table tb rename tb1;
alter table tb add marry int;(在末尾增加字段)
alter table tb add marry int first;(在开头增加字段)
alter table tb add marry int after salary;(在字段后增加字段)
alter table tb modify marry int;
alter table tb change marry ma int;
alter table tb drop marry;
alter table tb1 drop foreign key fk_tb1_tb;(删除tb1表的主键约束)


删除数据表

drop table tb;(tb数据表)


约束

主键约束:唯一确定表中的一条记录,该字段的值不重复且不为空
联合主键约束:联合主键字段的值相加不重复
自增约束:该字段的值自动增长
唯一约束:该字段的值不重复可以为空
非空约束:该字段的值不能为空
默认约束:该字段的值,如果没有传值,使用默认值
外键约束:父表,没有的值,在子表,不可以使用
父表的列被子表引用,不可以删除该列


数据三大设计范式

第一范式:表中所有字段都是不可分割的原子值。(字段可以分割成更小的字段,拆字段)
第二范式:满足第一范式前提下,除主键外的字段都要完全依赖主键。
如果要出现不完全依赖,只能发生在联合主键的情况下。(如果字段不依赖主键并且依赖其他字段,拆表)
第三范式:满足第二范式前提下,除主键外的字段和其他字段之间不能有传递依赖关系。(如果字段同时依赖2个字段,拆表)


连接查询

内联查询inner join:两张表的数据,通过某个字段相对,查询出相关记录数据。
左外连接left join:两张表的数据,把左表的所有数据取出来。右表有相对的字段,就显示,没有就补NULL。
右外连接right join:两张表的数据,把右表的所有数据取出来。左表有相对的字段,就显示,没有就补NULL。
全外连接full join:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值