什么是数据库:
是存放数据的电子仓库,以某种方式存储数据,供多个用户访问
数据库分关系型数据库和非关系型数据库
关系型数据库特点:
1.安全
2.保存数据的一致性
3.实现对表与表进行复杂的数据查询
非关系型数据库特点
1.效率高
2.容易扩展
3.使用更加灵活
安装数据库:
第一步:输入 yum install mysql
提示 complete 则安装成功
第二步 输入 yum install mysql-server
提示 complete 则安装成功
第三步:
service mysqld start
设置 mysql 中root 访问的密码
1.1:mysql -uroot -p
不用输入密码 回车
1.2:use mysql;
1.3:update user set password = password("123456") where
user = "root";
1.4 CTRL +z 退出mysql
1.5 service mysqld restart 重启服务
mysql 的 服务器相关的指令:
service mysqld restart 重启mysql服务
service mysqld start 启动
service mysqld stop 关闭
service mysqld status 查看mysql状态
注意:只要我的虚拟机关闭,mysql服务默认关闭.需要
启动mysql 服务才可以访问.
然后拍摄快照:
访问mysql 的指令:
第一种方法(密文输入密码):mysql -u root -p
-u 用户名
-p password 密码
crtl + Z 退出mysql 服务
第二种方法 (明文输入)
mysql -u root -p"123456"
mysql 数据库的操作指令:
注意:所有mysql指令后面都需要加上; 分号
show databases; 用来查看数据库
create database 数据库的名称;创建数据库;
drop database +数据库名称:删除数据库
use 数据库名称 : 进入数据库的指令:
show tables 查看数据库当中内容 内容
(指的是数据库当中的数据表)
select user(); 查看当前的用户:
select database();查看我当前在那个数据库当中
注意:我之后的mysql操作,都在wuhan17 这个数据库当中
进行操作
create database wuhan17;
create database wuhan17;
创建一个表:
create table wuhan(id int(4)primary key auto_increment,name char(20),phone bigint(10)default 13510951238,class float(20,2) not null,time date);
show tables:查看已经创建的表
desc 用来查看 表的结构
mysql> desc wuhan;
select * from +表名称:查看表中数据的方法
fieid: 表中字段名称
id, name, phone, class, time 这些都是字段名称
这些字段名称下面存档对应的数据
create table wuhan(id int(4)primary key auto_increment,name char(20),phone bigint(10)default 13510951238,class float(20,2) not null,time date);
Type:表数据存储的类型
int 代表整数类型:id 是int id这个字段他只能存储整数748
最大的正整数:2147483647
最大的负整数:-2147483647
(4) :代表存储数据的字节大小.
bingint(10) 也是整数类型,当你存储的值范围超过了int型就可以适用nigint
float(20,2) float 他是浮点数类型也是属于number数值类型,浮点数就是
存在小数的值
(20,2)20代表存储的字节大小
2代表保留的小数点位
字符串类型:
char 是用来存储字符
varchar 是用来存储字符
面试问题:char 和 varchar的区别?
char: 固定长度的存储大小,比如我现在给char 20 个存储字节的大小,实际 存储的数据只有两个字节的大小,但他实际占用的内存是20字节
varchar : 自适应长度的存储大小,比如我现在给varchar 20 个存储字节的大 小,实际存储的数据只有两个字节的大小,但他会根据实际的值的情况决定占用的大小
时间类型:
date:用来存储时间
mysql 主要有 number数值类型,字符串类型("asds213"),
时间类型(date)存储时间
Null:代表你当前的数据是否可以为null
null 他是一个属性,yes no 代表当前存储数据是允不允许存储null这个属性
mysql 当中常见的约束:约束存储的数据
pirmary key :叫做 唯一约束,又称主键约束、
我在那个字段添加了 pirmary key,那个字段的值就不允许重复
key :pir 代表该字段设置了主键
如果添加的内容已经存在当前的数据库当中,则抛出异常
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
auto_increment: 叫做自增长约束:
id name 我当有 id 和name 两个字段,如果我id设置了自增长约束,我在添加的时候没有给id增加,只给了name一行内容,自增长约束会自动给id+1
注意;字段没有主键约束,就不可以增加自增长
id name
1 niuyi
2 niuer
default : 代表默认值的约束
在我没有给值的情况他会适用default所给的默认值给值的情况就会将原有的默认值替换
not null : 非空约束: null代表空的意思,但前的字符不能为null
select * from 表名 :他是查询表中数据
*代表查询所有
desc 表的结构:查询这个表由那些内容组成
mysql 当中插入数据的方法:
insert into 表名(表字段)values 插入数据
当前我们这个表里面5个字段 id name phone class time
insert into wuhan(id,name,phone,class,time)values(1,"niuyi",15602989612,1866.11111,"2022-07-01");
这些符号都是英文符号
注意点: 给数值类型增加数据不需要加引号,但是给字符串还有时间加数据需要加上引号
1.检查你当前有没有这个表
2.检查你的insert 语句有没有问题
所有的sql语句都需要用;结尾
创建一个表,没有给约束
create table dcs(id int(4),name char(2),age int(4),sex varchar(40));
insert into dcs(id,name,age,sex)values(1,"wuhanduoceshi“,6,"nan");
在mysql 当中字节存储的大小
1个字节=8hit 对应二进制数
1个字节对应是一个字母
2个字节对应是一个汉字
|
|