首页 > 数据库 >第14章——MySQL数据库系统

第14章——MySQL数据库系统

时间:2022-11-14 22:55:06浏览次数:32  
标签:14 数据库 mysql 命令 MySQL table 数据库系统 name

第14章——MySQL数据库系统

摘要

  • MySQL关系数据库系统;

  • 在Linux机器上安装和运行MySQL;使用MySQL在命令模式和批处理模式下使用SQL脚本创建和管理数据库;

  • 将MySQL与C编程相结合;演将MySQL与PHP集成,通过动态Web页面创建和管理数据库。

MySQL简介

MySQL是一个关系数据库系统。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。关系数据库系统的标准查询语言是SQL(结构化查询语言),包括MySQL。
MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。

MySQL有广泛的应用。

  • 提供标准的数据库系统服务,
  • MySQL 和PHP已成为大多数数据管理和在线商务网站的主干网。

安装MySQL

Ubuntu Linux

sudo apt-get install mysql-server

Slackware Linux

Slackware Linux在Slackware 14.0或更早版本中,可通过以下步骤配置MySQL:

  • 1.设置my.cnf : MySQL在启动时加载一个名为my.cnf的配置文件。该文件要在首次设置MySQL时创建。在/etc目录中,有几个示例my.cnf文件,文件名分别是my-small. cnf. my-large.cnf等。选择所需的版本来创建my.cnf文件,如
    cp /etc/my-small.cnf /etc/my.cnf
  • 2.安装所需数据库:MySQL需要一个所需数据库集,用于用户识别等。要安装它们, 可使用mysql用户作为超级用户,并使用以下命令安装所需的初始数据库。
    mysql_install_db
  • 3.设置所需的系统权限:该步骤确保mysql用户拥有mysql系统的所有权。
    chown -R inysql.mysql /var/lib/mysql
  • 4.通过以下操作使Zetc/rc.d/rc.mysqld可执行:
    chmod 7S5 /etc/rc.d/rc.mysqld

这将在后续系统引导上自动启动MySQL守护进程mysqld。

使用MySQL

连接到MySQL服务器

mysql -u root -p
Enter password:
mysql>

链接到MySQL服务器后,即可访问MySQL shell。在输入Mysql命令的时候,需要注意以下几点:

  • 所有的MySQL命令行末尾必须是分号。对于长命令,可在单独行中输入命令短语(按下ENTER键)。MySQL将会通过->符号继续提示更多的输人,直到它看到一个结束分号。
  • MySOL命令行不区分大小写。虽然不是强制要求,但为了清楚和更容易识别,通常使用大写编写MySQL命令,使用小写编写数据库、表、用户名或文本。

显示数据库

SHOW DATABASES命令可显示MySQL中的当前数据库

新建数据库

CREATE DATABASE dbname 创建一个名为dbname的数据库,如果数据库已经存在,则可以使用IF NOT EXISTS子句对命令限定。

删除数据库

DROP DATABASE dbname 删除已存在的命名数据库,该命令可以用一个可选的IF EXISTS 子句限定。

选择数据库

USE dbname命令选择一个数据库

创建表

CREATE TABLE table_name 命令回在当前数据库中创建一个表;DESCRIBE 命令显示表格式和列属性。

删除表
DROP TABLE table_name 命令删除表

MySQL中的数据类型

数值类型:

  • INT:整数(4字节),TINYINT:(1字节)S,MALLINT:(2字节)等。
  • FLOAT:浮动指针数。

字符串类型:

  • CHAR(size):固定长度字符串,长度为1~255字符。
  • VARCHAR(size):可变长度字符串,但不能使用任何空格。
  • TEXT:可变长度的字符串。

日期和时间类型:

  • DATE:日期格式为YYYYMM-DD。
  • TIME:以HHMMSS格式保存时间.

Mysql中的操作

插入行:

要在表中添加行,可使用INSERT命名,具有语法形式:

INSERT INTO table_name VLAUES(columnValuel,columnValue2,....);

删除行:

使用DELETE命令从表中删除行

DELETE FROM table_name;
DELETE FROM table_name WHERE condition;

更新表:

UPDATE命令用于修改表中的现有记录(列)

UPDATE table_name SET coll = value1, col2 = value2,…… WHERE condition;

修改表:

ALTER TABLE命令用于添加、删除或修改当前表中的列。它还用于添加和删除当前表中的各种约束条件。

  • 修改表名
    如需修改表名,可使用以下命令:
    ALTER TABLE table name renAme To new_name;

  • 添加列 要在表中添加列,可使用以下命令:
    ALTER TABLE table name ADD column name datatype;

  • 删除行 可使用以下命令删除列:
    ALTER TABLE table name DROP column name datatype;

  • 更改/修改行 可使用以下命令修改表中某列的数据类型:
    ALTER TABLE table name ALTER COLUNN column_name datatype;

关联表

一个真正的数据库可以能包含多个相互关联的表,使用主键-外键约束条件来定义表关系。

  • 一对一
  • 一对多
  • 多对多
  • 自引用

连接操作

在MySQL中,可使用连接操作在多个表中检索数据。连接操作有4种不同的类型。

  • (INNER)JOIN tablel,table2:检索两个表中共有的项。
  • LEFT JOIN tablel,table2:检索表1中的项以及两个表中共有的项。
  • RIGHT JOIN tablel,table2:检索表2中的项以及两个表中共有的项。
  • OUTER JOIN tabell, table2:检索两个表中非共有以及没有用的项。
    对于正则集运算,MySQL中的连接操作可以解释如下。+表示两个集合的并集,^表示两个集合的交集。则有
(INNER) JOIN t1, t2 = t1 ^ t2
LEFT JOIN t1, t2 m t1 + (t1 ^ t2)
RIGHT JOIN t1, t2 = t2 +(t1 ^ t2)
OUTER JOIN t1, t2 = t1 + t2;

C语言MySQL编程

标签:14,数据库,mysql,命令,MySQL,table,数据库系统,name
From: https://www.cnblogs.com/yycyhyhf/p/16890834.html

相关文章

  • 11.14 解题报告
    T1考场用时:\(1\)h期望得分:\(70\)pts实际得分:\(20\)pts有一个地方的\(m\)写成了\(n\),直接T飞。对于\(70\)分的做法,考虑设\(dp_{i,j}\)表示分了\(i\)段,现......
  • P6406 [COCI2014-2015#2] Norma 题解
    前言洛谷上很多大佬都写的CDQ分治的解法。但看了某篇大佬的线段树解法,受益匪浅,于是决定写一篇题解来记录一下这种解法。前置知识:单调栈,线段树题目通道题目描述给......
  • MySQL数据库
    1、初识MySQLJavaEE:企业级Java开发Web前端 (页面:展示,数据!)后台 (连接点:连接数据库JDBC,连接前端(控制,控制跳转和给前端传递数据))数据库(存数据,Text,Excel,Word)只会写代码,学好......
  • 11/14
    利用abc ,得到ef g。 已知什么能求什么?时事,周围的案件,进入环境。亲和力 激情  实力 理想气息 趣味性 融会贯通 多角度思考   系统性 直观......
  • 11.14.12
    #include<stdio.h>#include<string.h>intmain(){inti,j,l1,l2; chara[100],b[100]; gets(a); gets(b); l1=strlen(a);l2=strlen(b); for(i=l1,j=0;i<l1+l2,j<l2......
  • sql server 数据库系统表及表结构查询
    sysobjects表结构:列名数据类型描述namesysname对象名,常用列idint对象标识号xtypechar(2)对象类型,常用列。xtype 可以是下列对象类型中的......
  • 221114第n次管核酸有感
    今日只有两批志愿者,下午算是在宿舍并不高效的学习了一个下午吧,但确实比以前批次多时好一些。要不要记录仇怨呢?算了,还是稍微一记吧,那个叫金峻宇的话真不少,甩得一手......
  • Asterisk realtime 之SIP用户动态写入mysql 数据库(2)
    提供通信服务器和客户端解决方案,包括视频电话,调度系统,会议系统等VOIP行业资讯和技术趋势请参考:www.voip123.cn接上一篇文章,SIP用户写入mysql数据库,asterisk自动查找数......
  • Ubuntu20.04离线安装mysql8.0
    参考网址#1.官网下载对应的文件并解压tar-xfmysql-server_8.0.31-1ubuntu20.04_amd64.deb-bundle.tar#2.下载所需的依赖wgethttp://archive.ubuntu.com/ubuntu/pool......
  • nove.14 对懒标记的思考
    小记这本来是萌新的时候就该理解的问题,现在来想想清楚我好笨qwq,但是慢慢想清楚总是好的今天探究一个问题:线段树对区间值的维护的时刻一般来说,找到修改区间的时候,在打上......