首页 > 其他分享 >学习笔记12

学习笔记12

时间:2023-11-27 20:33:05浏览次数:30  
标签:12 name 数据库 mysql 笔记 学习 命令 MySQL table

第十四章总结

摘要

  • 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:

  • 设置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
  • 安装所需数据库:MySQL需要一个所需数据库集,用于用户识别等。要安装它们, 可使用mysql用户作为超级用户,并使用以下命令安装所需的初始数据库。
    mysql_install_db
  • 设置所需的系统权限:该步骤确保mysql用户拥有mysql系统的所有权。
    chown -R inysql.mysql /var/lib/mysql
  • 通过以下操作使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编程

使用C语言构建MySQL客户机程序

苏格拉底挑战





标签:12,name,数据库,mysql,笔记,学习,命令,MySQL,table
From: https://www.cnblogs.com/gao0818/p/17860383.html

相关文章

  • openGauss学习笔记-133 openGauss 数据库运维-例行维护-日维护检查项
    openGauss学习笔记-133openGauss数据库运维-例行维护-日维护检查项133.1检查openGauss状态通过openGauss提供的工具查询数据库和实例状态,确认数据库和实例都处于正常的运行状态,可以对外提供数据服务。检查实例状态gs_check-Uomm-iCheckClusterState检查参数openG......
  • java基础学习:三元运算符,运算符的优先级
    三元运算符介绍:格式:条件表达式?值1:值2;执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果值为false,返回值2代码:packagecom.itheima.operator;publicclassOperator6{publicstaticvoidmain(String[]args){//目标:三元运算符的基本使用do......
  • 基于深度学习网络的烟雾检测算法matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本matlab2022a 3.算法理论概述      基于深度学习网络的烟雾检测算法是一种端到端的检测方法,主要分为基于候选区域的二阶段目标检测器和基于回归的单阶段目标检测器两类。      基于候选区域的二阶段目标检测......
  • 残差学习
    在PyTorch中创建一个简单的残差学习层(ResidualBlock)涉及到定义一个继承自torch.nn.Module的类。残差学习层通常包含两个或更多的卷积层,以及跳跃连接(skipconnection),允许输入直接传递到后续层。下面是一个简单的示例,它定义了一个包含两个卷积层的残差学习层。每个卷积层后面跟着......
  • java基础学习:逻辑运算符
    &:前后均为true,结果才为true|:只要多个条件中有一个为true,结果就是true^(逻辑异或):前后结果相同时返回false,结果不同时返回true  &&(短路与):左边为false,右边则不执行||(短路或):左边为true,右边就不执行......
  • UVA11275 3D Triangles 题解
    LinkUVA112753DTrianglesQuestion给你三维空间中的两个三角形,请判断它们是否有公共点。Solution如果在三维空间中相交,那么,肯定有一个三角形的某一条边穿过了另外一个三角形Code#include<bits/stdc++.h>usingnamespacestd;constdoubleeps=1e-9;structPoint3{......
  • java基础学习:关系运算符
     判断相当用“==”双等于号packagecom.itheima.operator;publicclassQperator4{publicstaticvoidmain(String[]args){inta=10;intb=5;System.out.println(a=b);//输出结果为5,因为把b值为5赋值给了a}}......
  • 11月27日每日学习
    完成将生成的加减乘除算术添加到数据库中,并且将算数从数据库取出来运行结果源代码packagedao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.util.Random;importjava.util.Scanner;importutil.DBUtil;......
  • Linux进程学习
    学习 Linux 进程管理可以帮助我们深入了解操作系统的核心功能,并提高系统管理和故障排除的能力。以下是一些学习 Linux 进程管理的心得:1. 理解进程的概念和状态:进程是正在运行的程序的实例,它具有不同的状态,如运行、等待、停止等。了解这些状态以及它们之间的转换对于理解进程......
  • 10月20日每日学习
    今天写了一下人机交互的第二个实验,用C#写一个管理系统界面大体就是这样,是一个很简单的系统......