首页 > 数据库 >mysql基础语句

mysql基础语句

时间:2022-11-28 18:55:53浏览次数:33  
标签:语句 基础 外键 hobid key mysql table 主表 主键

 

 

 

一、mysql中6中常见的的约束/规则

主键约束(primary key)

外键约束(foreign key): 如果同一个属性字段x在表一中数主键,而在表二中不是主主键,则字段称为表二的外键。

非空约束(not null)

唯一性约束(unique key): 唯一,可为空,但空值值允许出现一次。

默认值约束(defaulst): 当为空时,默认值

自增约束(auto_increment): 随着记录增加,基于最新的记录的id,进行自加1的增长。

1、主键和外键的关系

创建外键约束作用(误删、修改),保证数据的完整性和一致性。

主键表和外键表的理解:

以公共关键字作为主键的表为主键表(父表、主表)

以公共关键字作为外键的表为外键表(从表、外表)

create table test01 (hobid int(4),hobname varchar(50));
#创建一个主表,先不定义主键,也可以定义好

create table test02 (id int(4) primary key auto_increment,name varchar(10),age int(3),hobid int (4));
#创建从表

alter table test01 add constraint pk_hobid primary key(hobid);
#添加主表test01一个主键约束,主键的名字以pk开头

alter table test02 add constraint fk_hobid foreign key(hobid) references test01(hobid);
#为从表test02添加外键,并将test02表的hobid字段和test01字段建立外键关联,外键名建议以"FK_"开头
references :引用(主表的主键)

show create table test02;
#使用查询表语句结构查看外键关联

插入数据的时候。需要先插入主表,在插入从表,不然会报错。
删除数据的时候,需要先删除从表的记录,在删除主表的记录。

二、SQL语句

SQL语言分类:
DDL:数据定义语言,用于创建数据库对象,如库、表、索引等
DML:数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据
DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
DCL:数据控制语言,用于设置或者更改数据库用户或角色权限(数据控制语句,用于控制不通数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,如COMMIT、ROLLBACK、GRANT、REVOKE)

普通的建立在前一篇已经介绍了

SELECT * FROM zzz;
SELECT id,name,score FROM zzz WHERE id=2;
select name from zzz\G #以列表方式竖向显示
select * from info limit 2; #只显示头2行
select * from info limit 2,3; #显示第2行后的前3行

数据表高级操作

克隆表

格式:create table 创建的表 like 复制的表;

#复制表的结构

格式:insert into 新表 select * from 复制的表;

#复制表的内容

 这里报错是因为create的是表,不是数据库

 

 建立数据插入表中,由于更换了虚拟机,所以前面的基础信息变化,但是步骤不变

 

标签:语句,基础,外键,hobid,key,mysql,table,主表,主键
From: https://www.cnblogs.com/123456789SI/p/16919342.html

相关文章

  • Mysql 连接参数 useAffectedRows 详解
    Mysql连接参数useAffectedRows详解Javamysql链接串:jdbc:mysql://mysql安装IP:3306/db_test?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertTo......
  • Linux基础第三章:Linux软件安装及yum本地库创建
    一、Linux软件安装1、Rpm包安装2、yum仓库安装  二、yum本地库建立 一、Linux软件安装软件安装共2种安装方式,通过rpm包安装或通过yum仓库库安装。1、Rpm包安装......
  • MySQL多表查询语法
    MySQL多表查询语法多表查询准备数据准备createtabledep(idintprimarykeyauto_increment,namevarchar(20));createtableemp(idintprimarykeya......
  • mysql数据库之事务
     一、mysql事务1、事务的概念2、事务的ACID特点2.1原子性2.2一致性2.3隔离性2.4持久性3、两个事务之间的影响3.1脏读(读取未提交数据)3.2不可重复度(前后多......
  • Shell编程——基础入门
    目录​​目录​​​Shell概述​​​Shell是什么​​​​Shell的分类​​​脚本执行方式​​​echo输出命令​​​​第一个脚本​​​Bash的基本功能​​​命令别名与快捷键......
  • MySQL深度掌握之路
    目录​​目录​​​​前言​​​​知识点​​前言知识点MySQL要求​​AUTO_INCREMENT​​列必须有某种索引,如果没有索引,那么表的定义就是不合法的。任何一个​​PRIMARYKE......
  • MySQL自定义函数
     ⚠不推荐将业务逻辑存储在数据库中.MySQL不仅提供了很多很方便的内置函数,用户还可以自定义函数。不同于MongoDB对Js函数的良好支持,MySQL的自定义函数用起来感觉处处掣......
  • RabbitMQ基础
    1.初识MQ1.1.同步和异步通讯微服务间通讯有同步和异步两种方式:同步通讯:就像打电话,需要实时响应。异步通讯:就像发邮件,不需要马上回复。是你却不能跟多个人同时通话。......
  • 多mysql实例库联合查询
    情况一2个库在同一台物理主机情况二2个库不在同一台物理主机(即2个库分别在不同的物理主机)注意:myemployees库和shoppingCart库在同一台物理主机,如果不在同一台物理......
  • Linux:CentOS release 8.5 安装Mysql5.7
    添加Mysqlyum存储库下载安装软件包#下载软件包wgethttps://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm#安装软件包rpm-Uvhmysql80-commun......