MySQL学习记录

it2022-05-09  38

一、MYSQL概述

1.1 什么是数据库

数据库是一种存储数据的仓库

1.2 哪些公司在使用数据库

金融机构、游戏网站、购物网站、论坛网站

1.3 提供数据库服务的软件

1 软件分类

MySQL、SQL_Server、Qracle、Mariadb、DB2、MongoDB

2 在生产环境中,如何选择使用哪个数据库

(1) 是否开源 开源软件:MySQL、Mariadb、MongoDB 商业软件:Oracle、DB2、SQL_Server (2) 是否跨平台 不跨平台:SQL_Server 跨平台:MySQL、Mariadb、MongoDB、Oracle、DB2 (3) 公司的类型 商业软件:政府部门、金融机构 开源软件:游戏网站、

1.4 MySQL的特点

1、关系型数据库

1、关系型数据库的特点 1、数据是以行和列的形式去存储的 2、 3、表中的每一行叫一条记录 4、表中的每一列叫一个字段 5、表与表之间的逻辑关联叫关系 2、示例 1、关系型数据库存储

表一 学生信息表:

姓名年龄班级牛郎25AID1803织女232AID1801

2、表二 班级信息表

班级班主任AID1803卢大大AID1801孙大大

2、非关系型数据库

{"姓名":“牛郎”,"年龄":25,“班级”:"AID1803","班主任":"卢大大"} {"姓名":"织女","年龄":25,"班级":"AID1803"}

跨平台 可以支持Unix、Linux、Windows上运行数据库服务 3、支持多种编程语言 Python、java、php...

二、MySQL安装

1、Ubuntu安装MySQL服务 RetHat(红帽)、CentOS、Ubuntu

1、安装服务端 sudo apt-get install mysql-server 2、安装客户端 sudo apt-get install mysql-client

2、Windows安装MySQL服务

1、下载MySQL安装包 mysql-installer******5.7.******.msi 2、双击、按照教程安装即可

3、启动和连接MySQL服务

1、服务端启动

1、 查看MySQL服务状态 sudo /etc/init.d/mysql status 2、 停止、启动、重启 MySQL服务 sudo /etc/init.d/mysql stop|start|restart

2、客户端连接

1、 命令格式 mysql -h主机地址 -u用户名 -p密码 mysql -hlocalhost -uroot -p123456 2、 本地连接可以省略 -h 选项 mysql -u用户名 -p密码 mysql -uroot -p123456.

3、MySQL命令

1、命令规则
1、每条SQL命令必须以;结尾 2、SQL命令不区分字母大小写 3、使用\c来终止命令的执行(Linux 中使用 Ctrl + c)
2、库的管理
1、库的基本操作
1、查看已有的库 show databases; 2、创建库 create database 库名字; create database 库名字 default charset=utf8; 指定字符集编码 3、查看创建库的语句 show create database 库名字; 4、查看当前所在库 select database(); 5、切换库 use 库名; 6、查看库中已有表 show tables; 7、删除库 drop database 库名;
2、库名的命名规则
1、可以使用数字、字母、_,但不能使用纯数字 2、库名区分字母大小写 3、库名具有唯一性 4、不能使用特殊字符和MySQL关键字
3、练习:
1、创建库AID1803db,指定字符集为utf8 create database AID1803db default charset=utf8; 2、切换到该库创建库AID1803db use AID1803db; 3、查看当前所在库 select database(); 4、查看库中已有的表 show tables; 5、查看AID1803db的字符集(查看创建库的语句) show create database AID1803db; 6、删除库AID1803db drop database AID1803db;

3、表的管理

1、表的基本操作
1、创建表(指定字符集) create table 表名( 字段名 数据类型, 字段名 数据类型, ...... ); 2、查看创建表的语句(字符集) show create table 表名; 3、查看表结构 desc 表名; 4、删除表 drop table表名;
2、表的命名规则(同库的命名规则)
3、练习
1、 创建库python create database python; 2、 在库python中创建表py_mysql,指定字符集utf8 use python; create table py_mysql( id int, name char(20) ); 3、 查看表py_mysql的字符集以及存储引擎 show create table py_mysql; 4、 查看py_mysql字符集以及存储引擎 desc py_mysql; 5、 删除表py_mysql drop table py_mysql;
4、注意
1、所有的数据都是以文件的形式存放在数据库目录下 2、数据库目录:/var/lib/mysql
5、更改库、表的默认字符集
1、方法
通过更改MySQL服务的配置文件来实现。
2、步骤
1、获取root权限 sudo -i 2、切换到配置文件所在路径、 cd /etc/mysql/mysql.conf.d 3、备份 cp mysqld.cnf mysqld.cnf.bak 4、用vi打开mysqld.cnf,在 [mysqld] character_set_server = utf8 保存退出 5、重启mysql /etc/init.d/mysql restart
6、表记录管理
1、在表中插入记录
1、insert into 表名 values(值1)、(值2)......,(值N); 2、insert into 表名(字段名列表) values(值1),...(值N);
2、查询表记录
1、select * from 表名; 2、select 字段1,字段名2,...,字段名N from 表名;
3、练习
1、查看所有的库 2、创建新库 stu1 3、在库stu1中创建表students,字段要求如下 1、id int 2、name char 3、age int 4、address char(20) 4、查看表students的表结构 5、在表中插入一条记录 6、在表中一次性插入2条记录 7、查看所有表记录 8、删除表students 9、删除库stu1
7、客户端把数据存储到数据库服务器上的过程
1、连接到数据库服务器 mysql -uroot -p123456 2、选择一个库:user 库名; 3、创建表或者修改表:create ... 4、断开与数据库服务器的连接:exit | quit | \q
8、名词介绍
1、DB (database) DB就是数据库,存储数据的仓库 2、DBMS (database management system) 数据库管理系统 管理数据库的软件:MySQL、Qracle、MongoDB ...... 3、DBS(database system) 数据库系统 DBS = DB(存储) + DBMS(数据库软件) + 数据库应用(财务管理系统、人事管理系统) + 用户
9、数据类型
1、数值类型
1、整形
1、int 大整形(4字节) 取值范围:0~2**32 - 1 (42亿多) 2、tinyint微小整形(1个字节) 1、有符号(signed默认):-128 ~ 127 2、无符号(unsigned):0 ~ 255 3、smallint 小整形(2个字节) 取值范围:0~65535 4、bigint 极大整形(8个字节) 取值范围:0 ~ 2 ** 64 - 1
2、浮点型
1、float(4个字节,最多显示7个有效位) 1、用法 字段名 float(m,n) m:表示总位数 n:小数位位数 salary float(5,2) 取值范围 -999.99 ~ 999.99 数值大了有效位只有7位 2、注意 1、浮点型插入整数时会自动补全小数位位数 2、小数位如果多于指定的位数,会对指定位的下一位进行四舍五入 float(5,2) -> 23.128 ->23.13 2.double(8个字节,最多显示15个有效位) 1、用法 字段名 double(m,n) 3、decimal(M+2个字节,最多显示28个有效位) 1、用法 decimal(28,5)
2、字符类型
1、char(定长) 1、取值范围:1 ~ 255 2、不给定宽度默认值为1 2、varchar(变长) 1、取值范围 1~65535 2、注意 1、varchar没有默认宽度,必须给定一个宽度值 name varchar(20) 3、char 和 varchar 的特点 1、char 浪费存储空间,但是性能高 2、varchar 节省存储空间,但是性能低
3、枚举类型
1、定义 字段值只能在列举的范围内选择 2、enum(...) 单选(最多有65535个不同的值) 字段名(值1,值2,值3,...,值N) 3、set(...) 多选(最多有64个不同的值) 字段名 set(值1,值2,...,值N) 插入记录时 “Python,boy,Mysql”
4、日期时间类型
1、year :年 YYYY 2、date : 日期 YYYYMMDD 3、time : 时间 HHMMSS 4、datetime :日期时间 YYYYMMDDHHMMSS 5、timestamp :日期时间 YYYYMMDDHHMMSS 6、注意 1、插入记录时datetime字段不给值默认返回NULL 2、插入记录时timestamp字段不给值默认返回系统当前时间
10、表字段的操作
1、语法:alter table 表名 执行动作;
1、添加字段 alter table 表名 add 字段名 数据类型 first | after 字段名; 2、删除字段 alter table 表名 drop 字段名; 3、修改字段名数据类型 alter table 表名 modify 字段名 新数据类型; 注意:修改数据类型时会受到表中原有数据类型的限制 4、修改字段名 alter table 表名 change 旧名 新名 数据类型; 5、修改表名 alter table 表名 rename 新表名;

转载于:https://www.cnblogs.com/taoke2016/p/8985785.html

相关资源:一千行 MySQL 学习笔记.pdf

最新回复(0)