第 7 讲 mysql 数据库
1、数据库的定义:是存放数据的电子仓库 ==》例子:教室是一个仓库(数据库)==》
里面的桌子可以理解为表==》表里面存储数据
2、关系型数据库:
依据关系模型创建的数据库,把数据保存在不同的表中,表
与表存在着某些关系。
3、非关系型数据库:非关系型数据库也叫nosql数据库,全称not only sql。通常
数据以对象的形式存储在数据库中,不固定结构,例如列模
型,键值对模型。
4、关系型数据库特点
1.安全
2.保持数据的一致性
3.实现对表与表进行复杂的数据查询
5、非关系型数据库特点
1.效率高
2.容易扩展
3.使用更加灵活
6、关系型数据库有哪些
1.db2
2.oracle ==》收费 金融公司
3.mysql ==》开源 免费 体积小
4.sql server ==》微软公司
7、非关系型数据库有哪些
1.hbase(列模型) ==》大数据
2.redis(键值对模型) ==》缓存 ==》中间件
3.mongodb(文档类模型) ==》文档类模型
8、MySQL 数据库的安装
yum install MySQL ==》安装数据库的客户端
yum install mysql-server ==》安装MySQL数据库的服务端
rpm -qa|grep -i mysql ==》查看是否安装了MySQL数据库
9、MySQL 数据库的操作
service mysqld status ==》查看数据库的状态(d ==》daemon 守护的进程)
service mysqld start ==》启动数据库
service mysqld stop ==》关闭数据库
service mysqld restart ==》重启数据库
10、登录数据库 ==》第一次登录数据库不需要密码
[root@localhost /]# mysql -u root -p
Enter password: 不需要密码 ==》按enter键
-u 表示user root 用户
-p 表示password 密码
mysql>exit; ==》退出数据库 也可以按ctrl +c 【注意sql语句后需要加英文分号】
[root@localhost /]mysqladmin -uroot password "123456" ==》只能修改初始密码123456
11、[root@localhost /]# mysql -u root -p123456 ==》登录数据库
[root@localhost /]# mysql -u root -p
Enter password: 123456
以上两种登录方式
12、mysql>use mysql; ==》进入到MySQL数据库
13、mysql>show databases; ==》展示所有的库
14、create database +库名
mysql>create databasse dcs11 ==》创建一个名为dcs11的数据库
15、drop database dcs11; ==》删除dcs11这个库
16、select database(); ==》当前在那个库(dcs11)
17、show tables; ==》展示dcs11这个库里面所有的表
18、create table +表名(
字段1名称,数据类型, 约束 ,
字段2名称,数据类型,约束,
字段3名称,数据类型,约束,
create table tab11(id int(10) primary key auto_increment,score float(10,2) not null,
name varchar(10),phone bigint(10) default 13977778888,time date);
desc tab11; ==》查看表结构(desc ==》全称description 描述)
+-------+-------------+------+-----+-------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+-------------+----------------+
| id | int(10) | NO | PRI | NULL | auto_increment |
| score | float(10,2) | NO | | NULL | |
| name | varchar(10) | YES | | NULL | |
| phone | bigint(10) | YES | | 13977778888 | |
| time | date | YES | | NULL | |
+-------+-------------+------+-----+-------------+----------------+
field ==》字段
type ==》数据类型
key ==》primary key 主键 一个表只能有一个主键,好比身份证
default ==》默认值 如果不给它值,就使用默认值
extra ==》额外的备注
数据库当中的数据类型
数值型
int ==》整型 最大存储的值 2147483647
bigint ==》整型 超过int就是用bigint
float ==》浮点型 float(10,2) 整数部分和小数部分加以来是10位,2精确到2位小数点
文本型 (这两种存储的值需要加单引号或者双引号)
varchar:字符串
char:字符串
区别:
1)char是固定长度的 varchar是可变长度
2)假设char(10)和varchar(10) 同样存储‘abc’ 对于char用个字节,剩下的7个
用空格不上,varchar只会占用3个字节,剩下不会用空格不上
3)char 效率要比varchar高
4)varchar 节省空间
日期型(这两种存储的值需要加单引号或者双引号)
date ==>'2022-10-17'
数据库的约束
约束用于对表中字段进行限制,保证表中数据的正确性和唯一性
约束类型
1 )primary key 主键约束
说明:非空,唯一,用于唯一标识对应的记录。类似身份证。
2 )foreign key 外键约束
说明:用于表与表建立关系模型,使表与表紧密的结合起来。
3 )not null 非空约束
4 )default 默认值约束
说明:默认给字段指定默认值
5 )auto_increment 自增约束 ==》只能和主键一起使用
说明:作用在整数类型,字段默认从1开始自增,不给id值,会默认在上一个id的基础上加1
19、修改表结构
1.查看表结构
desc +表名
显示字段名称,数据类型,约束,备注
desc tab11; ==》查看tab11这个表的结构
2.修改表名
alter table +表名 rename + 新表名
alter table tab11 rename tab12 ==》把tab11名称改为tab12
3.修改表字段
alter table +表名 change +原字段名 +新字段名 数据类型,约束
alter table tab11 change id sid int(10); ==》把id字段改为sid并且取消自增长
alter table tab11 change sid id int(10) auto_increment; ==》把sid 改为id加上自增长
4.添加表字段,并放到第一个字段前
alter table +表名 add +字段名 数据类型 约束 first
alter table tab11 add class int(10) first; ==》添加一个字段放在最前面
5.添加表字段,并放到某个字段后
alter table +表名 add +字段名 数据类型 约束 after +字段名
alter table tab11 add sex int(10) after id; ==》添加一个字段sex放在id的后面
6.同时添加两个字段,默认添加到字段最后
alter table +表名 add(字段1 数据类型,字段2 数据类型)
alter table tab11 add(age1 int(10),age2 int(10)); ==》同时添加两个字段age1 age2
7. 删除表字段
alter table +表名 drop + 字段
alter table tab11 drop class;==》把class字段删除
8.删除表两个字段
alter table +表名 drop 字段1,drop 字段2
alter table tab11 drop age1,drop age2;==》同时删除两个字段age1 age2
9.修改主键id为自增长 alter table +表名 change +字段名 数据类型 auto_increment
alter table tab11 change id id int(10) auto_increment;==》不修改id字段增加自增长
10.删除主键
alter table tab11 change id id int(10); ==》先删除自增长
alter table tab drop primary key; ==》删除主键
11.alter table tab11 change id id int(10) primary key auto_incerment; ==》同时增加主键和自增长
10.删除表drop table +表名
drop table tab11; ==》删除tab11这个表
20、数据库增删改查
1)增加
单条数据插入
insert into tab11(id,score,name,phone,time)values(1,66.88,'xiaoduan',13988886666,'2022-5-31');
insert into tab11 values(1,88.66,'xiaoliu',13466668888,'2022-5-31');
4)查
select * from tab11; ==》查询tab11这个表的全部数据
|
|