首页 > 其他分享 >20211314王艺达学习笔记12

20211314王艺达学习笔记12

时间:2023-12-01 12:11:35浏览次数:42  
标签:12 name 数据库 mysql 王艺达 20211314 MySQL table my

第十四章 MySQL数据库系统

知识点总结

一、MySQL

  • MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。MySQL是将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  • MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SOL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。MySQL有广泛的应用。除了提供标准的数据库系统服务外,MySQL和PHP(PHP2018)已成为大多数数据管理和在线商务网站的主干网。

  • MySQL与其他的大型数据库比较
    例如Oracle 、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。

  • 数据库类型

    关系型数据库——Oracle、SQL Sever、MySQL
    代表:Oracle、SQL Server、MySQL

    非关系型数据库——Redis、Mongodb,NoSQL数据库在存储速度与灵性方面有优势,也常用于缓存。
    代表:Redis、Mongodb

  • SQL结构化查询语言

    数据定义语言(DDL):
      用于定义和管理数据对象,包括数据库,数据表等。例如:CREATE,DROP,ALTER等。
      数据库 -> 数据表:对数据库或数据表的创建、删除、修改等操作

    数据操作语言(DML):
      用于操作数据库对象中所包含的数据。例如:INSERT,UPDATE,DELETE语句。对数据的 增、删、改这些操作,就是数据操作语言

    数据查询语言(DQL):
      用于查询数据库对象中所包含的数据,能够进行单表查询,连接查询,嵌套查询,以及集合查询等各种复杂程度不同的数据库查询,并将数据返回客户机中显示。

    数据控制语言(DCL):
      是用来管理数据库的语言,包括管理权限及数据更改。

二、安装MySQL

(1)Ubuntu Linux

可通过以下命令安装

sudo apt-get install mysql-server
mysql_secure_installation

(2)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

(1)连接到MySQL服务器

mysql -u root -p
连接到MySQL服务器后,即可访问MySQL shell。

(2)显示数据库

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

(3)新建数据库

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

(4)删除数据库

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

(5)选择数据库

USE dbname命令选择一个数据库

(6)创建表

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

(7)删除表

DROP TABLE table_name删除表

(8)数据类型

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

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

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

(9)插入行

要在表中添加行,可使用INSERT命名,具有语法形式:
INSERT INTO table_name VLAUES(columnValuel,columnValue2,....);

(10)删除行

使用DELETE命令从表中删除行,其语法形式如下:
DELETE FROM table_name;
DELETE FROM table_name WHERE condition;

(11)更新表

UPDATE命令用于修改表中的现有记录(列)。它的语法形式如下:
UPDATE table_name SET coll = value1, col2 = value2,…… WHERE condition;

(12)修改表

1.修改表名
如需修改表名,可使用以下命令:
ALTER TABLE table name renAme To new_name;
2.添加列
要在表中添加列,可使用以下命令:
ALTER TABLE table name ADD column name datatype;
3.删除行
可使用以下命令删除列:
ALTER TABLE table name DROP column name datatype;
4.更改/修改行
可使用以下命令修改表中某列的数据类型:
ALTER TABLE table name ALTER COLUNN column_name datatype;

(13)关联表

1.一对一关系
2.一对多关系
3.多对多关系
4.自引用关系

(14)连接操作

在MySQL中,可使用连接操作在多个表中检索数据。连接操作有4种不同的类型。
(INNER)JOIN tablel,table2:检索两个表中共有的项。
LEFT JOIN tablel,table2:检索表1中的项以及两个表中共有的项。
RIGHT JOIN tablel,table2:检索表2中的项以及两个表中共有的项。
OUTER JOIN tabell, table2:检索两个表中非共有以及没有用的项。

使用数据库

  • 显示数据库
  • 新建数据库
  • 创建表:
    输入
create table students ( student_id int not NULL primary key AUTO_INCREMENT, name char(20), score int);

  • 查看表格式和列属性:

学习自测






标签:12,name,数据库,mysql,王艺达,20211314,MySQL,table,my
From: https://www.cnblogs.com/bestiwyd/p/17869320.html

相关文章

  • 学习笔记12
    第14章MySQL数据库系统摘要本章讨论了MySQL关系数据库系统;介绍了MySQL并指出了它的重要性;展示了如何在Linux机器上安装和运行MySQL;演示了如何使用MySQL在命令模式和批处理模式下使用SQL脚本创建和管理数据库;说明了如何将MySQL与C编程相结合;演示了如何将MySQL与PHP集......
  • 12.1
    打字练习P5587打字练习-洛谷|计算机科学教育新生态(luogu.com.cn)#include<iostream>#include<algorithm>#include<stack>#include<vector>#include<deque>usingnamespacestd;longlongans=0;vector<string>a,b;deque<char>s,m......
  • 【一句日历】2023年12月
    【2023年12月1日·星期五】 人若愿意的话,何不以悠悠之生,立一技之长,而贞静自守。                                                 ——里尔克E......
  • 20211128《信息安全系统设计与实现》第十四章学习笔记
    一、任务内容自学教材第14章,提交学习笔记(10分)1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”核心是要求GPT:“请你以苏格......
  • 2023-2024-1 20211306 密码系统设计与实现课程学习笔记12
    20211306密码系统设计与实现课程学习笔记12任务详情自学教材第14章,提交学习笔记知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个......
  • 文心一言 VS 讯飞星火 VS chatgpt (146)-- 算法导论12.2 1题
    一、用go语言,假设一棵二叉搜索树中的结点在1到1000之间,现在想要查找数值为363的结点。下面序列中哪个不是查找过的序列?a.2,252,401,398,330,344,397,363。b.924,220,911,244,898,258,362,363。c.925,202,911,240,912,245,363。d.2,399,387,219,266,382,381,278,363。e.935,278,347,621,299,392,358,363。灵捷3......
  • 文心一言 VS 讯飞星火 VS chatgpt (146)-- 算法导论12.2 1题
    一、用go语言,假设一棵二叉搜索树中的结点在1到1000之间,现在想要查找数值为363的结点。下面序列中哪个不是查找过的序列?a.2,252,401,398,330,344,397,363。b.924,220,911,244,898,258,362,363。c.925,202,911,240,912,245,363。d.2,399,387,219,266,382,381,278,363。e.935,278,347,621,299,392,358,363。灵......
  • 代码随性训练营第四十九天(Python)| 121. 买卖股票的最佳时机 、122.买卖股票的最佳时机I
    121.买卖股票的最佳时机1、动态规划classSolution:defmaxProfit(self,prices:List[int])->int:#dp[i][0]代表第i天持有股票获取的最大利益#dp[i][1]代表第i天不持有股票获取的最大利益dp=[[0]*2for_inrange(len(prices)......
  • 多线程连接池报错报警告[connectionpool.py:305 ] [WARNING] Connection pool is full
    第一种方法:按照建议WebDriverWait帮助解决了问题 fromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasECfromselenium.webdriver.common.byimportByfromselenium.common.exceptionsimportT......
  • 12月摸鱼计划,挑战7/14/21天发博文,实体礼品包邮送!
    春去秋来冬又至,今年的最后一期摸鱼计划也来啦!为迎接新一年的来到,本次摸鱼计划礼品新增了2024年版记事本台历,既是台历,又是笔记本。还有全新礼品——元气多巴胺背包,支持博主们写更多的好文章!【活动时间】发文时间:2023年12月1日—2023年12月31日【活动任务】以下任务福利可同享!!任务一:7......