MySQL基础入门操作(笔记)

原创:实验楼

1.1 数据库和 SQL 概念

通俗的说数据库就是一个数据仓库。这没什么好说的,详细的概念百度以下就好了。话不多说马上上手。

1.2Ubuntu下安装MySQL

  • 在线安装
  • sudo apt-get install mysql-server
  • 若出现无发定位软件源,一般是源的问题,更换源为国内源就行了
    https://blog.csdn.net/qq_35451572/article/details/79516563
    – 安装过程中它会提示你输入密码,确定后再次确认密码即可
  • 安装客户端:sudo apt-get install mysql-client
  • 验证是否已安装
    – sudo netstat -tap | grep mysql , 出现以下现象则为安装成功
    在这里插入图片描述
    – 若找不到命令netstat, sudo apt-get install net-tools即可

1.3 启动MySQL服务

  • sudo service mysql start
  • 登陆mysql
    – mysql -u root -p [你的密码]
  • 查看数据库
    – show databases; # 分号作为语句的结束符
  • 查看数据库中的表
    – 首先,use <数据库的名字>,如我们use mysql 这里可以不用分号
    – show tables; 查看表

2.1 创建数据库并插入数据

  • 启动服务并打开mysql
    在这里插入图片描述
  • 创建数据库
    – create database [数据库名字]; 如:create database mysql_shiyan;
    – show databases; 检查是否创建成功
  • 先连接数据库,use mysql_shiyan
  • 新建表
    – create table 表名
    (
    列名a 数据类型(数据长度),
    列名b 数据类型(数据长度),
    列名c 数据类型(数据长度)
    );
    – 如我们新建一个学生信息表
    create table student
    (
    id int(10),
    name char(4),
    phone int(12)
    );
  • 认识一些数据类型
    INT 4 整数
    FLOAT 4 单精度浮点数
    DOUBLE 8 双精度浮点数
    ENUM – 单选,比如性别 ENUM(‘a’,‘b’,‘c’)
    SET – 多选 SET(‘1’,‘2’,‘3’)
    DATE 3 日期 YYYY-MM-DD
    TIME 3 时间点或持续时间 HH:MM:SS
    YEAR 1 年份值 YYYY
    CHAR 0~255 定长字符串
    VARCHAR 0~255 变长字符串
    TEXT 0~65535 长文本数据
  • 接着上面,我们往新建表中插入数据(三种不同插入方式)
    – insert into student(id,name,phone) values(01,‘tom’,1101011);
    – insert into student vaules(02,‘cobe’,12020120);
    – insert into student(id,name) vaules(03,‘james’);
    – select * from student; 查询表中所有信息
    在这里插入图片描述

3.1约束

约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。

在MySQL中,通常有这几种约束:
在这里插入图片描述

3.2建立含有约束的表

  • 准备实验教材
    -1.使用命令git clone https://github,com/shiyanlou/SQL3.git
    – 若没有安装git,sudo apt install git即可
  • 2.有可能会报proxy的错误,详情百度(每个人情况不同),或者直接登录https://github,com/shiyanlou/SQL3.git下载压缩包(推荐)省时省力
    1. 已经下载完成后,直接右键文件夹然后提取到你想放的地方,cd 进入到解压好的目录下即可,这里我在home目录下
  • 4.接着,我们要加载好SQL_3目录下的MySQL-03-01.sql
    –mysql -u root -p 密码
    – 进入mysql控制台输入命令,然后查看下这个数据库(如图)
    在这里插入图片描述

3.3主键

  • 主键 (PRIMARY KEY)是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要,主键不能有重复记录且不能为空。
  • 作用:
    1)保证实体的完整性;
    2)加快数据库的操作速度
    3)在表中添加新记录时,DBMS会自动检查新记录的主建值,不允许该值与其他记录的主键值重复。
  1. DBMS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

3.4默认值约束

-默认值约束 (DEFAULT) 规定,当有 DEFAULT 约束的列,插入数据为空时,将使用默认值。
例如代码

phone int(10)default '110110'  # 说明phone有default约束,默认值为110110

3.5 外键

  • 如果公共关键字(如图两张表都含有)在一个关系(一张二维表实际上就是一个关系)中是主关键字,那么这个公共关键字(公司代号)被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。
    在这里插入图片描述
下面通过一个例子理解这几个约束

学生信息表student

sidsnamegender
1Cobe
2Jame
3Rose

课程信息表course

cidcname
1math
2chinese
3english

成绩表mark

midsidcidscore
11180
22185
33190
41260
52290
63275
71395
82376
93385
  • 1.创建一个数据库grade_system
create database grade_system;
  • 2.分别创建三个表student, course, mark

    use grade_system  # 新建表之前必须连接这个数据库
    # 新建学生信息表
    create table student(
    sid int not null auto_increment; # 这里int()并没有给它固定的长度,而是指定非空并采用自增方式(自增详解见代码尾处)
	sname varchar(20) not null,  # 名字非空
	gender varchar(10) not null, # 性别非空
	primary key(sid) # 指定学生id为表student的主键
	);
	# 新建课程表
	create table course(
	cid int not null auto_increment,
	cname varchar(20) not null,
	primary key(cid)
	);
	# 新建成绩表
	create table mark(
	mid int not null auto_increment,
	sid int not null,
	cid int not null,
	score int not null,
	primary key(mid),
	foreign key(sid) references student(sid),# 指定外键
	foreign key(cid) references course(cid)  # 指定外键
	);
	# 指定外键的语法是foreign key(外键名) references 表名(外键名);
	# 每张表的主键都用了auto_incremen修饰符,auto_increment修饰符
	只适用于INT字段,表明MySQL应该自动为该字段生成一个数(每次在上一次生成的数值上面加1)。
	

4.0 select 语句的语法基础

  • 首先,还是同3.2节一样到https://github.com/shiyanlou/SQL4.git把资源下载,方法同3.2
  • 进入mysql控制台,将上节的mysql_shiyan数据删除
  • 然后做如下操作
    在这里插入图片描述
  • 开始
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

5.数据库及表的修改与删除

drop table 表名;
  • 对列修改
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 修改表中的值
    – 很多时候我们都不会修改整个数据库或整个表,而是某些值
    – update 表名 set 列1=值1,列2=值2 where 条件;
    在这里插入图片描述
  • mysql> # 删除一行的记录
    – delete from 表名 where 条件;
    – 把Jack的数据删除
delete from employee where name='Jack';

此时,Jack的数据没有了

结尾:MySQL基础知识完毕

  • 天道酬勤
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值