首页 > 系统相关 > 《Unix/Linux系统编程》第14章学习笔记

《Unix/Linux系统编程》第14章学习笔记

时间:2022-11-16 15:13:51浏览次数:43  
标签:14 Linux 数据库 MySQL 命令 Unix mysql table name

第14章 MySQL数据库系统

MySQL(MySQL 2018)是一个关系数据库系统。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联,表也可能与其他表有关联。
MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。

14.1 安装MySQL

在Ubuntu中,使用命令sudo apt install mysql-server
可通过运行脚本对其进行配置以获得更好的安全性mysql_secure_installation

14.2 使用MySQL

连接到MySQL服务器

  mysql -u root -p	# specify the root user with password
  Enter password:	# enter the MySQL root user password
  mysql >	        # mysql prompt

连接到MySQL服务器后,即可访问MySQL shell。
注意:

  • 所有的MySQL命令行末尾必须是分号
  • MySQL命令行不区分大小写

显示数据库

命令:SHOW DATABASES;

新建数据库

命令:CREATE DATABASE test;

删除数据库

命令:DROP DATABASES dbname;

  • 注意:DROP操作不可逆,一旦数据库被删除,无法撤销或恢复。

选择数据库

命令:USE dbname;

创建表

命令:CREATE TABLE table_name;
DESCRIBEDESC命令显示表格式和列属性。

删除表

命令:DROP TABLE table_name;

MySQL中的数据类型

数值类型:

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

字符串类型:

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

日期和时间类型:

  • DATE:日期格式为 YYYY-MM-DD。
  • TIME:以S格式保存时间。

插入行

命令:INSERT INTO table_name VALUES(column Value1,column Value2,...);
可以创建一个包含多个插入命令行的MySQL脚本文件,并将其用作MySQL的输入源文件,使用SOURCE命令。

删除行

命令:DELETE FROM ...;

更新表

命令:UPDATE table_name SET col1 = value2,...WHERE condition;

修改表

命令:ALTER TABLE;,用于添加、删除或修改当前表中的列。

关联表

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

  • 一对一(1-1)关系
  • 一对多(1-M)关系
  • 多对多(M-M)关系
  • 自引用

实践:

1.安装MySQL

  • 使用sudo apt-get install mysql-server命令

2.连接到MySQL服务器

  • 使用mysql -u root -p

问题原因:
使用命令sudo apt-get install mysql安装时,并没有提示输入密码,则密码没有初始化
解决办法:
使用默认密码登录,使用cat命令查看默认密码sudo cat /etc/mysql/debian.cnf


输入mysql -udebian-sys-maint -p,使用默认密码登录:

使用SET PASSWORD = 'new password';修改密码

输入select user, plugin from mysql.user;

3.使用数据库

  • 显示数据库

  • 新建数据库

  • 创建表:

输入create table students ( student_id int not NULL primary key AUTO_INCREMENT, name char(20), score int);

  • 查看表格式和列属性:

标签:14,Linux,数据库,MySQL,命令,Unix,mysql,table,name
From: https://www.cnblogs.com/weihehahaha/p/16895947.html

相关文章

  • linux 中判断一组数据是否有交叉
     001、shell实现[root@pc1test2]#lsa.txt[root@pc1test2]#cata.txt##测试数据146108161720[root@pc1test2]#cata.txt|tr"""\n"|sed-e......
  • Linux--学习笔记
    Linux--学习笔记第1章Linux入门1.1概述1.2Linux和Windows第2章Linux文件与目录结构2.1Linux文件Linux系统中一切皆文件。2.2Linux目录结构......
  • QT 应用程序执行 Linux 指令,以操作 I2c tools 读写举例
    头文件:#include<string.h>#include<QProcess>#include<QDebug>#include<QString>写数据到I2c:voidwriteData(uint8_tdata){QProcessp;//声明......
  • Linux下进程间通信方式之管道、信号、共享内存、消息队列、信号量、套接字
    /*1,进程间通信(IPC)Inter-ProcessCommunication比较好理解概念的就是进程间通信就是在不同进程之间传播或交换信息。2,linux下IPC机制的分类:管道、信号、共享内存、......
  • linux FHS(Filesystem Hierarchy Standard)结构
    Linux的哲学思想是一切皆是文件1、Linux文件系统的层次结构如下图所示:  下面将会对文件进行解释:bin普通用户的二进制可执行命令sbin管理员用户使用的工具程序的......
  • P1422 小玉家的电费(Java)
    题目描述夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电[2006]27号规定,月用电量在 150150......
  • Linux centos 在线|离线安装依赖
    离线安装yuminstall--downloadonly--downloaddir=/home/fileszlib-develbzip2-developenssl-develncurses-develepel-releasegccgcc-c++xz-develreadline-de......
  • 嵌入式Linux单板连接飞燕物联网平台
    大家好,我是杂烩君。最近,我们的设备连接的云平台需要切到阿里的飞燕平台,做个笔记记录下。阿里的物联网平台有好几个:物联网平台生活物联网平台(飞燕平台)城市物联网平台它们的应......
  • Linux中ifconfig命令的使用
    1、安装ifconfig找不到,发现ifconfig命令在net-tools里面yumsearchifconfigyuminstallnet-tools 安装net-tools  通过whatis命令显示简单描述[root@rocky9......
  • Linux下Socket编程(转)
    什么是SocketSocket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解So......