天河42期罗文超 发表于 2022-6-2 20:49:59

mysql

MySQL

Linux服务器MySQL的安装方式(两种方式只要使用一种)
方式一:在线安装
yum install mysql -y                #安装MySQL数据库的客户端
yum install mysql -server -y         #MySQL服务端的安装
yum中的 -y参数表示使用yum进行在线安装时不需要确认

方式二:离线安装rpm安装
rpm -qa ==》查看当前Linux服务器中已经安装的程序
首需要下载相关的rpm文件安装包
执行:rpm -ivh +rpm文件名
-ivh 表示执行安装并显示进度

先启动MySQL的服务,才可以连接MySQL数据库管理系统
service mysqld start ===》启动MySQL数据库的服务
service mysqld stop ===》停止MySQL数据库的服务
service mysqld restart ===》重启MySQL数据库的服务
service mysqld status ===》检查MySQL数据库的服务的运行状态

首次(未设置密码前)进入MySQL数据库,是不需要输入密码的:mysql -uroot -p
退出的三种方法:quit、exit、Ctrl+c

设置MySQL的登录密码(刚安装完mysql的设置密码的方法):mysqladmin -uroot password ‘123456’

设置密码之后的两种登录方式:
密文方式:mysql -uroot -p 加回车键 再输入密码
明文方式:mysql -uroot -p 123456
-u表示用户名
-p表示密码


mysql基本操作:

show databases;==》展示所有的库

use +库名;==》进入对应的库中(只有进入到对应的库中才可以操作里面的表)
show tables;==》展示当前库中所有的表

create database +库名;==》创建xx库,是没有表的
select database();==》查询 当前操作的库名
database()==》mysql中的内置函数,作用是获取当前操作的库名,内置函数的执行需要使用select(查询) 在前


drop database +库名;==》删除对应的库(注意:MySQL中的基础库不要删除)


对表进行操作(注意:要先使用use进入对应的库中)
创建表:
create table 表名(字段1 字段1的属性 字段1约束,字段2 字段2的属性 字段3约束,字段3 字段3的属性);






常见的数据类型
create table test(id int(20) primary key auto_increment,
name varchar(20) not null,
score float(20,2),
phone bigint(20) default 17688889999,
time date);
1,int 整数,整数数字,只能保存4个字节的数字,也就是保存的范围+-2147483647

2,bigint 大整型,大整数,只能保存整数数字,但是保存的范围比int要大,可以保存8个字节的数字
3,float 浮点数,带小数位的数字,(20,2)前面的20也是表示数据的宽度,后面的2表示显示小数位后两位,保存四个字节的数据
4,double 浮点数,大浮点数,保存8个字节的数据
5,date 日期格式数据,保存日期,固定格式 YYYY-MM-DD,所以在定义时,不需要在字段后面加括号说明长度
6,char 字符串,保存字符串,固定存储长度,固定占磁盘的255个字节
7,varchar 字符串,可变长字符串,存储时占用磁盘的空间是不固定,最多占2^16个字节
面试题
char型和varchar型的区别:两者都是mysql数据库保存字符串数据的格式,区别是:char型数据是定长的,所以不节省资源,查询性能更好。varchar型是可变长的,但是查询性能差一点,节省资源
char()和varchar()括号中的数字表示内容显示的长度例如varchar(20),表示插入的数据最多显示20个字母或者特使字符,如果是汉字显示,utf-8编码格式的汉字会显示6个汉字和一个乱码,GBK编码格式的汉字就显示10个汉字,一个utf-8汉字占3个字符,一个GBK编码格式的汉字占2个字符位
约束:
1,primary key        主键约束,一张表中只能有一个主键约束,特点:表中主键字段的值唯一,而且不能为空
2,auto_increment                 自增长约束 必须要结合着主键约束使用,而且字段的类型要为数值型,如果插入数据时,不对主键字插入值则会自动在主键字段中的值中匹配最大值+1
3,not null         非空约束,表示对应字段不能为空值null        
4,default         默认值约束,对有默认值约束的字段,如果插入数据时,不对该字段插入数据则直接赋予一个已经定义的默认值

desc +表名;==》查看对应表的表结构
修改表结构:alter table
alter table test rename test1;==》        修改表test表重命名为test1

alter table test change id sid int(4);==》修改表 test 表改变 id字段为sid 属性为int(4)格式

alter table test change sid sid int(4) auto_increment;==》修改表 test表 改变sid字段为sid字段 属性为int(4)包含自增长约束

alter table test add class char(10);==》修改表 test 表 添加 class字段属性为char(10)

alter table test add sex varchar(3) first;==》修改表 test 表 添加 sex字段属性为varchar(3)放在第一位

alter table test add age int(2) after score;==》修改表 test表 添加 age字段属性为int(2)放在score字段后面

alter table test drop sex;==》修改表 test表删除 set字段

alter table test drop age,drop class;==》修改表 test表 删除age字段,删除age字段

alter table test add(sex varchar(5),age int(10));==》修改表 test表 添加sex字段属性为varchar(5)和age字段属性为int(10)

alter table test change sex sex va10har(5) after name;==》修改表 test表改变sex字段属性为varchar(5)放在name字段后面

alter table test modify age int(5) after sex;==》修改表test表更改age字段 属性为int(5)并放在sex字段后面

*modify和change都可以修改表中字段的定义,但是change使用相对不那么方便,因为要写两次字段名,modify则不用,但是modify不能对字段名进行重命名

alter table test drop primary key;==》修改表 test表丢弃主键约束

1,首先要删除自增长约束,可以通过modify或者change的方式修改表字段的属性就可以删除自增长alter table test modify sid int(4);==》修改表 test 修改sid int(4)删掉auto_increment
2,删除表中主键约束:alter table test drop primary key;修改表test 删除主键约束

3,添加主键约束,
(1)可以通过modify、change的方式进行添加:
alter table test change sid sid int(5) primary key;修改表 test表改变sid字段为sid字段属性为int(5)并添加主键约束

(2)通过add primary key的方式添加:
alter table test add primary key(sid,name);修改表 test表添加主键约束在sid字段和name字段上

复合主键:在一个表中,只能有一个主键约束,但是这个主键约束可以放在多个字段上。
主键特点:表中主键字段的值唯一,而且不能为空
复合主键特点:多个复合主键字段上的值,组合后不能存在全为空,且组合后不能出现重复的情况

create table test2 like test;根据一张存在的表去创建另一张新表(备份表结构的操作)

drop table test2;删除test2表



页: [1]
查看完整版本: mysql