第9章 mysql

mysql介绍

数据库系统:

数据库:文件夹

数据表:文件

表记录:一条数据

数据库管理软件

mysql  : 开源

oracle

sqlserver

mysql :

服务端: mysqld

客户端: cmd  php  python

数据库操作:

show databases; 显示所有数据库名称

create database database_name [character set utf8];  创建一个数据库

show create database database_name;                   查看数据库的创建信息

use database_name;                                   切换数据库

alter database db_name [character set xxx]            修改数据库的字符集

drop database [if exists] db_name;                     删除数据库

数据表操作:

1  创建表:

create table table_name (

filed   字段类型    [完整性约束],

filed   字段类型    [完整性约束],

filed   字段类型    [完整性约束],

);

2 查看表

desc table_name;  查看表结构

show tables; 是该数据库下所有的表名

show create table table_name ; 查看数据库的表创建信息

3 修改表:

alter table table_name   add       field   type 完整性约束

alter table table_name   modify    field   type 完整性约束

alter table table_name   change    field   type 完整性约束

alter table table_name   drop      field   type 完整性约束

4 删除表

drop table tab_name;

表记录操作:

1 增加记录:

insert [into] tab_name   (field1,field2....) values (values1,values2....) ,

(values1,values2....),

...                 ;

insert  tab_name set field=value, field=value,..... ;

2 修改记录

update tab_name set field=value where 子句

3 删除表记录:

delete from  tab_name  where 子句

清空表记录: 1  delete from tab_name

2  truncate tab_name   (数据量大时推荐使用)

4 查询表记录(******)

select  * from tab_name   : 显示所有的记录的所有字段信息

select [distinct] filed,filed2,.....   from tab_name

where 子句

group by 分组     key  :  分组条件

having 子句  : 过滤

order by

limit

查询 每一个省份的平均工资

select city,avg(salary) from emp group by city;

查询 平均工资大于8000的省份的名称

select city,avg(salary) from emp group by city having avg(salary) > 8000

多表查询:

内连接查询:

select * from emp inner join dep on emp.dep_id=dep.id;

左外连接查询:

select * from emp left join dep on emp.dep_id=dep.id;

完整性约束:

主键约束:

primary key    :  非空(not null )且 唯一 (unique)

外键约束(关联字段):

表关系:

表与表的关系(两张表)

一对多

将关联字段设置在多的表中

CREATE TABLE  emp(

id INT  PRIMARY KEY ,

name VARCHAR (20),

dep_id INT ,

FOREIGN KEY (dep_id) REFERENCES dep(id)

)

多对多

借助第三张表实现的

CREATE  TABLE  STUDENT2TEACHER(

id  INT  PRIMARY KEY  auto_increment,

studnet_id INT ,

teacher_id INT ,

FOREIGN KEY (studnet_id)  REFERENCES student(id),

FOREIGN KEY (teacher_id)  REFERENCES teacher(id),

)

一对一

将关联字段设为Unique

CREATE TABLE  author(

id INT  PRIMARY KEY ,

name VARCHAR (20),

authorDetial_id INT unique,

FOREIGN KEY (dep_id) REFERENCES dep(id)

)

时间: 2024-10-06 23:07:17

第9章 mysql的相关文章

一周学会mysql:第一章mysql简介

mysql是支持众所周知的sql(结构化查询语言)数据库语言的一个关系数据库 数据库是由持久性数据的某些集合组成的,由数据库管理系统管理 数据库专用语言把命令传递给数据库服务器,这种语言叫数据库语言 NULL值:未知的值(空值),部要和0混淆了 主键用来唯一标识表中的一列,表中不可能有2个不同行在他们的主键上具有相同的值,主键必须有个值 候选键:表中包含多个可以作为主键的列,但只有其中一个可以作为主键 替换键:不是表格主键的候选键. 外键:是表中的一列,该列是另外一个表的主键内容的一个子集 一周

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化 前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就已经产生了的,后期的优化很多时候所能够带来的改善都只是在解决前妻设计所遗留下来的一些问题而已,而且能够解决的问题通常也比较有限.本章将就如何在 MySQL 数据库 Schema 设计的时候保证尽可能的高效,尽可能减少后期的烦恼. 9.1 高效的模型设计 最规范的就一定

第 7 章 MySQL 数据库锁定机制

7.1 MySQL 锁定机制简介 数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问访问变得有序所设计的一种规则.对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL 自然也不能例外.MySQL 数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存储引擎的锁定机制也有较大区别. 总的来说,MySQL 各存储引擎使用了三

MySQL性能调优与架构设计——第1章 MySQL 基本介绍

MySQL性能调优与架构设计——第1章 MySQL 基本介绍 前言:作为最为流行的开源数据库软件之一, MySQL 数据库软件已经是广为人知了. 但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介绍.主要内容包括MySQL 各功能模块组成,各模块协同工作原理, Query 处理的流程等. 1.1 MySQLServer 简介 1.1.1 什么是 MySQLMySQL 是由MySQL AB公司(目前已经被SUN公司收归麾下,SUN已经被Oracle收购)自主研发的,目

第 3 章 MySQL 存储引擎简介

3.1MySQL 存储引擎概述 到后来,MySQL 意识到需要更改架构,将前端的业务逻辑和后端数据存储以清晰的层次结构拆分开的同时,对ISAM 做了功能上面的扩展和代码的重构,这就是MyISAM存储引擎的由来. MySQL 的插件式存储引擎主要包括MyISAM,Innodb,NDB Cluster,Maria,Falcon, Memory,Archive,Merge,Federated 等,其中最著名而且使用最为广泛的MyISAM 和Innodb两种存储引擎.MyISAM 是MySQL 最早的I

第二章 Mysql数据类型简介

第二章 Mysql数据类型简介 ·     第一节:整数类型.浮点数类型和定点数类型 整型: ·TinyInt   (1字节) ·SmallInt   (2字节) ·MediumInt  (3字节) ·Int和Integer(4字节) ·BigInt    (8字节) 浮点数和定点数: ·Float   (4字节) ·Double  (8字节) ·Decimal(M,D) <定点数>(M表示总长度<包含小数点>,D表示小数位数) ·      第二节:日期与时间类型 ·Year  

第一章 Mysql简介及安装和配置

第一章 Mysql简介及安装和配置 ·    第一节:Mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品. 使用 C和 C++编写的. 集群(Cluster),适合大规模应用 ·   第二节:Mysql安装及配置 MySql安装注意一次行安装成功,不然要处理注册表. 安装选择编码格式为GBK或UTF-8. 安装MySql图形界面(Navica或MySQlog). p.MsoNormal,li.MsoNormal,div.Mso

第 4 章 MySQL 安全管理

一.外围网络: 第一道防线:"网络设备防线",因为暴露到广域网潜在的危险非常多,尽可能的让我们的MySQL 处在一个有保护的局域网之中,有了网络设备的保护,屏蔽来自外部的潜在威胁. 二.主机: 第二道防线"主机层防线","主机层防线"主要拦截网络(包括局域网内)或者直连的未授权用户试图入侵主机的行为. 因为一个恶意入侵者在登录到主机之后,可能通过某些软件程序窃取到那些自身安全设置不够健壮的数据库系统的登入口令,从而达到窃取或者破坏数据的目的.如一

第三章 MySQL高级查询(一)

第三章 MySQL高级查询(一) 一.SQL语言的四个分类 1.       DML(Data Manipulation Language)(数据操作语言):用来插入,修改和删除表中的数据,如INSERT,UPDATE,DELECT. 2.       DDL(Data Definition Language)(数据定义语言):创建或删除数据库对象操作,有CREATE,DROP,ALTER三个语法组成. 3.       DQL (STructured Query Language)(数据查询语

第01章 mySQL用户和权限管理v1

韩立刚老师视频教学网站 http://www.91xueit.com 韩老师QQ458717185 第01章 MySQL用户和权限管理 mySQL权限控制通过两步控制,能不能连接(验证用户身份),能执行什么操作(验证用户权限). 验证用户身份,需要验证,连接mySQL的计算机的IP地址或计算机名称,用户账户和密码.验证过程如下: 管理mySQL用户 查看mySQL用户账户 mySQL用户存储在mysql数据库的user表,该表在mySQL服务启动时自动加载到内存,控制用户的登录. [[email