广州37期_Lcq 发表于 2021-12-15 18:45:58

mysql

安装mysql:
两个方法只要用一种
方法一:在线安装
(1)安装mysql的服务端
yum install mysql -server
(2)安装mysql的客户端
yum install mysql
方法二:离线安装,通过rpm命令执行把3个跟mysql相关的rmp文件上传到linux服务器的某个目录下,然后执行txt文件中的3条指令
安装完成可以使用以下指令检查
rpm -qa|grep 'mysql'


常见的数据库:
mysql、Oracle、sql server(如果公司使用Linux系统就不会选择SQ server数据库)
Redis缓存数据库(非关系型数据库)
mysql 服务的启动,关闭,重启,查询状态的操作
service mysqld start===》启动mysql服务
service mysqld status==》查看mysql的服务状态
service mysqld stop==》停止mysql服务
service mysqld restart==》重启mysql的服务
登陆mysql:
第一次登陆(未设置密码):不需要输入密码
mysql -uroot -p

退出mysql三种方式:quit、exit、Ctrl+c
设置MySQL的登陆密码:mysqladmin -uroot password “123456”
设置密码后登陆:要输入密码
两种方式:
密文方式:mysql -uroot -p 加回车键输入密码,再回车
明文方法:mysql -uroot -p123456
-u表示mysql的用户,-p表示密码
*不需要操作,如果忘记密码,则可以在/etc/my.cnf文件中的第2行添加以下代码,必须要正确添加以下代码,然后重启mysql服务,可以跳过验证直接进入mysql
skip-grant-tables

----sql指令----要进入mysql页面操作的指令
每一条SQL语句都是以’;’结束,在‘;’之前的字母都可以被mysql理解为同一条SQl语句的内容
show databases;==》查看所有的库
use +库名;==》进入某个库,才可以对库中的表进行操作
show tables;查看当前库里的表
create database +新库名; 创建 数据库xx库
select database();==》查询当前所使用的库
create table 表名(字段名1 字段格式,字段名2 字段格式,。。);==》建表语句
create table test#创建表 命名为test
(   #包含着表的基本信息,字段名(列名),字段属性
id int(10) primary key auto_increment,   #id字段 属性为int(10),是primary,而且是            auto_incrementint(10)==>数据宽度为10的整型,整数型,mysql保存数字的数据的一个长度
name varchar(20) not null,#name字段 属性为varchar(20),是not null约束,非约束
score float(20,2),   #score字段,属性为float(20,2)
phone bigint(20) default 17633338888);
#phone字符段 属性为bigint(20)是默认值约束,默认填入17633338888
#score字段,属性为float(20,2)
数据类型:
int(10)==>数据宽度为10的整型,整数型,mysql保存数字的数据的一个长度
varchar(20)==》可变长字符串,对应的值是可以为任意的数据(字母,中文,特效字符,空格等),插入数据时要使用引号‘’,在引号“里面写入数据,后面的20表示字符长度,一个字母占一个字符长度,中文utf-8编码占3个字符,GBk编码占2个字符
char==》定长度字符串,也是保存字符串
varchar(可变长字符串)和char(定长字符串)的区别:
char固定占磁盘255个字符,varchar最大占2^16次方个字符
char的查询性能回好些,但是不节约资源
varcar的性能差一点,但是节约资源,可以保存0-65536个字符
float(20,2)浮点型,保存小数,最大占4字节,(20,2)表示数据宽度可以保存20,2表示小数点后两位
double 浮点型,保存小数,最大占8个字节
bigint(20)大数字,整型,整数型,占8个字节
data==》保存日期 固定格式YYYY-MM-DD

常见约束:
primary key==》主键约束,一个表中只有一个主键,说明这个字段是这个表的主键,整一列的数据是唯一的,不重复,而且不能为空
auto_increment==》自增长约束,要结合着主键使用
not null==》非约束,必填信息,不能不填
default==》默认值约束,如果不对该字段插入值,那么就直接插入默认值
一个字节 0000 0000
4个字节 0000 0000 0000 0000 0000 0000 0000 0000    11111 11111 1111 1111 1111 1111 1111 1111
int型最大保存的数字范围是-2^31~2^31 = ±2147483647(10位数,超过10位数就使用bigint)
desc +表名;==》查看表结构

表结构的操作:
alter table ==》修改表
alter table test rename test1;==》把test表重命名为test1
ater table test1 rename test;==》把test1表重命名为test
alter table test change id sid int(10); ==》把id字段名修改为sid,并去掉自增长约束
alter table testchange sid sid int(10) auto_increment;==》改变sid字段,增加自增长约束
alter table test add time date;==》对test表增加time字段类型为date型
alter table test add class int(10) first;==》对test表增加class字段类型为int(10), first表示放在第一位
alter table test add sex varchar(6) after class; ==>增加sex字段类型为varchar(6) 放在class字段后面
alter table test drop sex; ==》对test表丢弃 sex字段
alter tabletest add(sex varchar(6),age int(4))==》对test表 同时增加sex和age字段
alter table test drop sex,drop age;==》对test表同时删除sex字段和删除age字段

删除主键约束:
alter table test drop primary key;#直接删除会报错
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
1,首先要删除自增长约束
alter table test change sid sid int(10);
2,然后才可以删除主键约束
alter table test drop primary key;
添加主键和自增长约束:
alter table test change sid sid int(10) primary key auto_increment;
对表中的数据进行操作-----增删查改
增 insert into ==》测试过程,经常要插入一些测试数据供我们测试去使用
注意:插入数据时,如果字段类型为char、varchar、data型需要加单引号
插入数据的2种方法:
第一种:
insert into 表名(字段1,字段2,字段3...) values(值1,值2,值3....);===>要求,值和字段要一一对应着
第二种:假设表的字段特别多,就不建议使用这种方法
insert into 表名 values(值1,值2,值3....); ===》要求:对表结构要熟悉,因为不写字段名时,插入的值要一一对应着表结构中字段的默认顺序,而且需要对表中所有的字段进行插入值
查seletc==》测试过程,我们经常要检查数据库中有没有对应的数据
seletc*from 表名;==》查询 所有字段的值来自于某个表;
页: [1]
查看完整版本: mysql