本帖最后由 南京1期庞惠茹 于 2021-11-30 21:49 编辑
Mysql数据库知识复盘
数据库分为关系型数据库和非关系型数据库
- 关系型数据库:存储数据的格式跟excel表格很像,存储数据非常友好
Oracle==》收费的、大型的公司,甲骨文公司,oracle是公司的一个产品
mysql==》开源的、免费、也是oracle公司的
sql server==》微软
hbase==》大数据
Redis==》key,values,键值对形式,缓存型的数据库
mangodb==》一个键、一个值
(前提条件,登录虚拟机,获取ip地址,链接Xshell)
yum install==》在线下载并安装
yum install mysql==》下载mysql客户端
yum install mysql-server==》下载mysql服务端
rpm -qa|grep -i mysql==》产看是否安装了数据库
service mysqld start==》启动数据库(每次进入数据库需启动)
service mysqld stop==》关闭数据库
service mysqld restart==》重启数据库
service mysqld status==》重启数据库
备注:mysqld后面的d代表的是一个守护进程daemon
- 查看进程、登录、查询所有库、设置账号和密码、退出数据库
netstat -nltp==》查看所有进程(重点记住此指令)
mysql -uroot -p==》登录进入mysql数据库(第一次安装数据库,不需要密码)
show databases;==》查询数据库中的所有库
mysqladmin -uroot password "123456"==》设置数据库账号和密码(不在数据库中设置,根目录下操作)
【如何跳过权限不输入密码进入mysql
编辑vim /etc/my.cnf,在socket=/var下面这行输入
i模式输入:skip-grant-tables :wq保存
service mysqld restart==》重启数据库】
exit/Ctrl+c==》退出数据库
备注:数据库内的指令后都要加";"
create database dcs1==》创建一个新的数据库名称为dcs1
drop database dcs1==》删除数据库dcs1
use dcs1==》切换和进入数据库(Database changed表示成功进入)
use mysql==》切换回mysql数据库
select database();==》查看当前已经进入到哪个数据库中
create table test (id int(20)primary key auto_increment,score float(20,2)not null,name varchar(20),phone bigint(20)default 18611112222,time date);==》进入dcs1数据库创建一个test表格
desc test1;==》查看表结构
Field
| type
| null
| key
| default
| Extra
| 字段约束
| 数据类型约束
| 为空约束
| 主键约束
| 默认值约束
| 额外备注
| int:最大存储值(10位):2147483647
| bigint:手机号码专用,长整型
| float:浮点型,(20,2)后面的,2是小数点后2位
| varchar:长字符型"xiaoxiao"
| char:单字符'lingling'
| date:"2021-11-30"
|
【数据库中常用的约束有哪些?】
not null==》非空约束
primary key==》主键约束,里面的值必须是唯一的,不能重复
default==》默认值约束,若不输入值,字段永远是初始设定的值
auto_increment==》自增长约束
foreign key==》外键约束
1、show tables;==》查看当前库的所有表格
备注:mysql数据库中有三个系统数据库,这三个系统数据库不可以删除
2、alter table test(修改当前表格test内容)
- add class int(20) first==>添加一个新字段在最前面
- add sex int(20) after id;==》添加sex字段到id字段后面
- add(age1 int(20),age2 int(20));==》同时添加两个字段,可添加到最后面,不能加到最前面
- modify class int(20) after id;==》调整class字段到id字段后面
- drop sex;==》删除sex字段
- drop age1,drop age2;==》同时删除age1,age2两个字段
- change id id int(20);==》删除自增长且不改变字段名称
- change id id int(20)auto_increment;==》不改变字段名称,增加自增长
- drop primary key;==》删除主键(要先删除自增长才能删除主键)
- change phone phone int(20) not null==》把phone数据类型修改为int且加上not null约束
备注:手机号一定要使用bigint的原因--使用int会使手机号码限定于2147483647这个值,只能小不能大
1、insert into test......插入数据:
- test(id,score,name,phone,time)values(1,88.99,'xiao',18656784321,'2021-11-30');(单个数据)
- values(1,88.99,'xiao',18656784321,'2021-11-30');(单个数据)
- test(id,score,name,phone,time)values(3,89.666,"mike",18651886667,"2021-11-30"),(4,78.89,"xiaoxiao",18612345678,"2021-11-30");(两条数据)
- values(5,100,"xiaoli",18956784321,"2021-11-30"),(6,99.99,"xiaop",5857894455,"2021-11-30"),(7,88.98,"xinxin",15805173333,"2021-11-30");(三条数据)
2、insert into test......指定字段插入数据:
- (id)values(8);==》插入id字段内容为8
- (score)values(90.99);==》插入score字段内容为90.99
备注:此时若设置了自增长约束,则id自动增加1;若未设置自增长约束,则显示其他序号id
|
|