MySQL数据库常用命令和概念 (1)
一、数据库的创建:
1、创建一个名称为mydb1的数据库
create database mydb1;
2、创建一个使用utf8字符集的mydb2数据库。
create database mydb2 character set utf8;
3、创建一个使用utf8字符集,并带比较规则的mydb3数据库。
create database mydb3 character set utf8 collate utf8_general_ci;
二、数据库的修改:
修改mydb2字符集为gbk;
alter database mydb2 character set gbk;
三、数据库的删除:
删除数据库mydb3。
drop database mydb3;
四、数据库查看:
查看所有数据库。
show databases;
查看数据库mydb1的字符集
show create database mydb1;
-----------------------------------------------
数据库中表操作
一、创建表
1、创建一张员工表employee
字段 类型
id 整形
name 字符型
gender 字符型
birthday 日期型
entry_date 日期型
job 字符型
salary 小数型
resume 文本
2、创建一张员工表employee2
字段 类型
id 整形
name 字符型
gender 字符型
birthday 日期型
entry_date 日期型
job 字符型
salary 小数型
resume 文本
要求:把id 设置成主键,并且自动增长。name不允许为空。
create table employee (id int primary key auto_increment,
name varchar(20) not null,
gender varchar(10),
birthday date,
entry_date date,
job varchar(30),
salary double,
resume text
);
二、删除表
1、删除employee2表
drop table employee;
三、数据表的结构的修改:
1、在上面员工表的基本上增加一个image列。
alter table employee add image varchr(20);
2、修改job列,使其长度为60。
alter table employee modify job varchar(60);
3、删除gender列。
alter table employee drop gender;
4、表名改为user。
rename table employee to user;
5、修改表的字符集为utf8
alter table user character set utf8;
6、列名name修改为username
alter table user change name username varchar(20) not null;
四、查看表结构
1、查看数据库内的所有表
show tables;
2、查看employee的建表语句
show create table employee;
3、查看employee的表结构
desc employee;
#约束
概念:对表中的数据进行限定,保证数据的正确性,有限性和完整性。、
分类:
1. 主键约束:primary key
主键就是表中记录的唯一标识
自动增长:如果某一列是数值类型的,使用auto_increment 可以来完成值的自动增长
a. 在创建表时,添加主键约束
create table stu(
id int primary key,--给id添加主键约束
name varchar(20)
);
b. 删除主键
ALTER TABLE stu DROP PRIMARY KEY;
c. 创建表后,添加主键
ALTER TABLE stu MODIFY id INT PRIMARY KEY;
2. 非空约束:not null
a.创建表时添加约束
CREATE TABLE stu(
Id INT,
NAME VARCHAR(20)NOT NULL --name为非空
);
b.创建表完后,添加非空约束
ALTER TABLE stu MODIFY NAME VARCHAR(20)NOT NULL;
c.删除name的非空约束
ALTER TABLE stu MODIFY NAME VARCHAR(20)
3.唯一约束:uniqe
a.创建表时,添加唯一约束
CREATE TABLE stu(
Id INT,
phone_number VARCHAR(20)UNIQUE --添加了唯一约束
);
b.删除唯一约束
ALTER TABLE stu DROP INDEX phone_number;
c.再创建表之后,添加唯一约束
ALTER TABLE stu MODIFY phone_number VARCHAR(20)UNIQUE;
4.外键约束:foreign key,让表于表产生关系,从而保证数据的正确性
a.创建表时,添加外键
create table 表名(
...
外键列
Constraint 外键名称 foreign key(外键列名称)references 主表名称(主表列名称);
b.删除外键
ALTER TABLE 表名 DRDP FOREIGN KEY 外键名称;
c.创建表之后,增加外键
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOEIGN KEY(外键字段)REFERNCES 主表名称
5.级联操作
a.添加级联操作
语法:ALTER TABLE 表名 ADD CONSTRAINT外键名称
FOREIGN KEY(外键字段名称)REFERENCES(主表列名称)ON UPDATE CASCADE ON DELETE CASCADE
b.级联更新 :ON UPDATE CASCDE
c.级联删除:ON DELETE CASCDE(慎用)
#数据库的设计
1多表之间的关系
1. 分类
A.一对一:
*比如人和身份证。一个身份证只能对应一个人
B.一对多(多对一)
*比如部门和员工。一个部门有多个员工,一个员工只能对应一个部门
C.多对多
比如学生与课程。一个学生可以选择很多课程,一个课程也可以被很多学生选择
2.实现关系:
A.一对一的实现方法:一对一关系的实现,可以在任意一方添加唯一指向另一方的主键。
B.一对多的实现方法:在多的一方建立外键,指向一的一方主键。
C.多对多的实现方法:多对多关系实现需要借助第三方中间表。中间表至少包含2个字段。这2个字段作为第三张表的外键,分别指向2张表。
2.数据库设计的范式
概念:设计数据库时,需要遵循的一些规范。要遵循后面的范式要求,必须前边的所有范式要求。
设计关系数据库时,遵从不同的规范要求,设计出合理的关系数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。
目前关系数据库有六种范式:第一范式(1NF),第二范式(2NF),第三范式(3NF),巴斯-科德范式(BCNF),第五范式
分类:
第一范式(1NF):每一列都是不可分割的原子数据项
第二范式(2NF):在1NF的基础上,非码属性必须完全依赖于候选吗(在1NF基础上消除主属性的对主吗的部分函数依赖)
1. 函数依赖:A—>B,如果通过A属性(属性组)的值,可以确定唯一B属性的值,则称B依赖于A
2. 完全函数依赖:A—>B,如果A是一个属性组,则B属性值确定需要依赖于A属性组中所有属性值
3. 部分函数依赖:A—>B,如果A是一个属性组,则B属性值确定只需要依赖于A属性组中某一些值即可
4. 传递函数依赖:A—>B,B->C,如果通过A属性(属性组)的值,可以确定B属性的值,在通过B属性(属性组)的值可以确定唯一C属性的值,则C传递函数依赖于A
5. 码:如果在一张表中:一个属性或者属性组,被其他所有属性完全依赖,则这个属性(属性组)为该表的码
第三范式(3NF):在2NF基础上,任何非主属性不依赖于其他非主属性(在2NF基础上传递依赖)
#数据库的备份和还原
语法:
*备份:mysqldump –u用户名 –p密码 数据库的名称 > 保存的路径
*还原:
登录数据库
创建数据库
使用数据库
执行文件 source 文件路径
MySQL数据库常用命令和概念 (1)的更多相关文章
- MySQL 数据库常用命令小结
MySQL 数据库常用命令 1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删 ...
- MySQL 数据库常用命令
1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show ...
- MySQL 数据库常用命令 超级实用版分享
1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show ...
- MySQL数据库 常用命令
1.MySQL常用命令 create database name;创建数据库 use databasename;选择数据库 drop database name 直接删除数据库,不提醒 show ta ...
- MySQL数据库常用命令行整理(表格)
Laplace Kang 2020-03-13T08:33:09Z 2020-03-14T17:35:53Z Sheet1 12480 9 600 600 6 9600 23040 0 0 600 0 ...
- CentOS下mysql数据库常用命令总结
mysql数据库使用总结 本文主要记录一些mysql日常使用的命令,供以后查询. 1.更改root密码 mysqladmin -uroot password 'yourpassword' 2.远程登陆 ...
- mysql数据库常用命令笔记
连接数据库:mysql -h localhost -u root -p 000000 退出:exit; \q; quit; SET foreign_key_checks = 0; 禁用外键 ...
- [ 转载 ] Mysql 数据库常用命令
完整的创建数据库例子: >create database db_test default character set utf8 collate utf8_general_ci; >use ...
- MySQL数据库常用命令
1.连接mysql数据库:mysql -u用户名 -p密码; 2.创建数据库:create database 数据库名称; 3.删除数据库:drop database 数据库名称; 4.使用数据库:u ...
随机推荐
- [原创]基于Zynq AXI-GPIO Standalone & Linux 例程
基于Zynq AXI-GPIO Standalone & Linux 例程 待添加完善中
- codeforces 502 g The Tree
题解: 一道优秀的题目 有几种做法: 1.维护后缀和 刚开始我想的是维护前缀和 然后用$sum[x]-sum[y]>=dep[x]-dep[y]$来做 但是这样子树赋值为0这个操作就很难进行了 ...
- SQL反模式学习笔记6 支持可变属性【实体-属性-值】
目标:支持可变属性 反模式:使用泛型属性表.这种设计成为实体-属性-值(EAV),也可叫做开放架构.名-值对. 优点:通过增加一张额外的表,可以有以下好处 (1)表中的列很少: (2)新增属性时,不需 ...
- 在使用mysql8.0的时候遇到的密码链接问题
问题概述 SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client SQLSTAT ...
- 思维导图工具XMind
思维导图工具XMind XMind简单介绍 官网地址:https://www.xmind.cn/ XMind 是一个全功能的思维导图和头脑风暴软件,为激发灵感和创意而生.作为一款有效提升工作和生活效率 ...
- RAID 0 ~ RAID 7
一.RAID解析1.RAID 0(1)将几块磁盘并行组合,横向写数据(2)并发IO,写数据最快缺点:不提供数据冗余,如果其中一块磁盘废掉,则数据全毁详细:条带深度大时,一次IO只能从一块磁盘上读取,无 ...
- 4. Spring 如何通过 XML 文件配置Bean,以及如何获取Bean
在 Spring 容器内拼凑 bean 叫做装配.装配 bean 的时候,你是在告诉容器,需要哪些 bean ,以及容器如何使用依赖注入将它们配合在一起. 理论上,bean 装配的信息可以从任何资源获 ...
- angular.isObject()
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 解析库之re,Beautifulsoup
本篇导航: 介绍 基本使用 遍历文档树 搜索文档树 总结 re模块在之前的python进阶中有讲过不再做过多的阐述,本篇为BeautifulSoup库的分析 20.collections模块和 ...
- __x__(22)0907第四天__ 垂直外边距重叠
外边距重叠, 也叫“外边距合并”,指的是,当两个外边距相遇时,它们将形成一个外边距. 合并后的外边距的高度,等于两个发生合并的外边距的高度中的较大者...在布局时,易造成混淆. 1. 上下元素 垂直外 ...