找回密码
 立即注册
  • 便民服务
  • 关注我们
  • 社区新手
本帖最后由 南京16刘伟 于 2023-3-21 19:51 编辑


什么是数据库?
是存放数据的电子仓库。以某种方式存储百万条,上亿条数据,供多个用户访问共享。

数据库分关系型数据库和非关系型数据库
什么是关系型数据库?
依据关系模型创建的数据库,把数据保存在不同的表中,表与表存在着某些关系

什么是非关系型数据库?
非关系型数据库也叫nosql 数据库 ,全称 not only sql 。通常数据以对象的形式存储在数据库,不固定结构,例如列模型 ,键值对模型。

关系型数据库特点
1 、安全
2、保持数据的一致性
3、实现对表与表进行复杂的数据查询

非关系型数据库特点
1、效率高
2、容易扩展
3、使用更加灵活

关系型数据库有哪些
1、db2
2、oracle
3、mysql
4、sq| server
非关系型数据库有哪些
1、hbase(列模型)
2、redis(键值对模型)
3、mongodb(文档类模型)

6、数据库的安装
(1) yum install mysql   → 安装数据库的客户端  (按y)
(2)yum install mysql - server  → 安装数据库的服务端 (按y)
(3)  rpm -qa |grep -i mysql    →  查看数据库是否已安装
4)[root@192 dcs16]# service mysqld status     查看mysql数据库状态 /ˈsɜːvɪs/
(5)[root@192 dcs16]# service mysqld start    启动数据库
(6)[root@192 dcs16]# service mysqld stop    关闭mysql 数据库
(7)[root@192 dcs16]# service mysqld restart    重启mysql数据库
(8)[root@192 dcs16]# mysql -uroot -p    登陆mysql数据库(初始登陆数据库不需要密码)
Enter password :
——u  表示用户user 的意思       root  用户
—— p  表示  password  密码的意思
mysql>  exit; 退出数据库   ctrl+c    退出

(9)[root@localhost /]# mysqladmin -uroot password "123456"  修改数据库的初始密码

(10)[root@192 /]# mysql -uroot -p123456         登录mysql数据库
[root@192 /]# mysql -uroot -p
Enter password: 123456                   登录数据库

(11) show databases;  → 查看mysql 数据库中有哪些库(注意sql语句后面需要接分号)

(12)create database+库名
           create  database  dcs16;    → 创建一个dcs16数据库
(13)drop database dcs16;     → 删除dcs16这个库
(14)use  dcs16;      → 进入到dcs16这个库
(15)select database();      → 查看当前在那个库


field  → 字段
type  → 数据类型
null  → 是否为空
key  → primary key 主键 唯一的
default  → 默认值约束  不给新值就是用默认值
extra  →  额外的备注

数据库的数据类型

数值型
int  →  整型  最大存储的是 2147483647
bigint  →  存储手机号  整型
float  → 浮点型  float(10,2) 正数部分和小数加起来是10位, 2 表示精确 2 位小数

文本型(varchar 和char 存储的值需要加引号)
varchar
char
区别:
char(10)和varchar(10) 分别给他们‘abc’ 对于char占用三个字节,剩余的使用空格代替
但是varchar(10)只会占用三个字节。不会多用

char用空间来体现效率
varchar节省空间,效率没char高

日期型(存储的值需要加引号)
date      →  ‘2023-3-21’

数据库中的约束
not null    → 非空约束
primary key    → 主键约束 唯一的  不能重复  一个表只有一个主键  (身份证)
default      → 默认值约束
auto_increment     → 自增长约束,如果id不给值 则会在上一条数据id加                    一  只能和主键一起使用
foreign key        → 外键约束  表与表之间的约束

(17)
drop table dcs1;         → 删除dcs1这个表
【修改表结构】      → alter table +表名
1、查看表结构
decs + 表名
显示字段名称,数据类型,约束,备注
desc dcs;  → 查看dcs 这个表的结构 (describe)

2、修改表名
alter table +表名 rename + 新表名
alter table dcs rename dcs16;  →  把dcs这个表名改为dcs16
3、修改表字段
alter table +表名 change +原字段名 +新字段名 数据类型 ,约束
alter table dcs change id sid int(10) auto_increment  →  把表中id 字段改位sid 同时加上自增长

4、添加表字段 ,并放到第一个字段前
alter table +表名 add +字段名 数据类型 约束 first
alter table dcs add class int(10) first;   →  给表dcs添加一个字段class 放在最前面

5、添加表字段,并放到某个字段后
alter table +表名 add +字段名 数据类型 约束 after +字段名
alter table dcs add age int(10) after id;       ==》给表dcs添加字段age放在id后面

6、同时添加两个字段,默认添加到字段最后
alter table +表名 add(字段1 数据类型,字段2 数据类型)
alter table dcs add (age1 int(10),age2 int(10));     ==》同时添加两个字段 age1  age2

7、删除表字段
alter table +表名 drop + 字段
alter table dcs drop class;     → 删除字段class

8、 删除表两个字段
alter table +表名 drop 字段1,drop 字段2
alter table dcs drop age1,drop age2,drop age;    →  同时删除多个字段

9、修改主键id为自增长
alter table +表名 change +字段名 数据类型 auto_increment
alter table dcs change id sid int(10) auto_increment;     → 把表中id字段改为sid同时加上自增长

10、删除表
drop table +表名
drop table dcs1;       → 删除dcs1这个表

【对表数据库操作】
insert into  表名   【增加】

1、表中插入数据
insert into +表名 values(字段1value,字段2value,字段3value...)
单条插入
insert into dcs (id,score,name,phone,time)   values(1,88.66,'xiaoduan',13966661111,'2023-3-21');
insert into dcs values (2,66.88,'xiaoduan',13566667777,'2023-3-21');

2、一次性表中插入多条数据
insert into +表名 values(字段1value,字段2value,字段3 value...),(字段1value,字段2value,字段3 value...)
多条插入数据
insert into dcs(id,score,name,phone,time)values
(3,66,'xiaoduan',13677779999,'2023-3-21'),
(4,88,'xiaoduan',13655556666,'2023-3-21'),(5,99,'xiaoduan',13866665555,'2023-3-21');

insert into dcs values(6,78,'xiaoduan',13566667777,'2023-3-21'),(7,89,'xiaoduan',13244445555,'2023-3-21');

3、对表中指定字段插入数据
insert into +表名(字段1,字段2) values(字段1值,字段2值)
指定字段插入
insert into dcs(score,name) values(68,'xiaoduan');   →  不给id值时,id自动加一,手机号使用默认值
insert into dcs (id,name) values(9,'xiaoduan');      →  不给score 值时以0补充
注意:0 不等于null   0时一个值  null 是一个空属性

【删除】 delete  from 表名 where

4、删除表中指定数据
delete from +表名 where 条件
delete from dcs where id = 9;           →   删除id等于9的数据
delete from dcs where id >= 6;         →  删除id 大于等于6的数据
delete from dcs;                  →  删除全表数据
5、删除表
truncate +表名
truncate dcs;           →  快速清除表中的数据,不会删除表结构
6、删除表
drop table +表名
drop  talbe  dcs;          →  删除表数据和表结构
注意:
truncate +表名:快速删除表数据。不会删除表结构
delete from 表名 where : 按条件删除表数据  不会删除表结构
drop table 表名:删除表结构和表数据

【修改】update 表名 set 字段
更新表中指定字段数据
update + 表名 set 字段名 = 值 where 条件
update dcs set score = 100;        →  把表中的score 字段的数据都改为100
update dcs set score = 99 where id = 5;     →  把 id 等于5 的score 改为99

【查】slect * from dcs where
1、查询表中所有数据
select * from + 表名
“ * “代表所有
select * from dcs;      →   查询 test 表所有数据

2、查询某个字段的数据
select 字段 from +表名
select id from dcs;      →  查询test 表中id 字段的值

3、查询多个字段的数据
select 字段1,字段2 from +表名
select id,name,score from dcs;      →    查询test表中  id name score 字段值

4、查询满足某个条件的所有数据
select * from +表名 where 字段=值
where 后面接满足的条件
select * from dcs where id = 5;  → 查询id等于5的数据

5、查询不满足某个条件的所有数据
select * from +表名 where 字段!=value“!=” 代表不等于 ,也可以用符号 ”<>“ 代表不等于
select * from  student where sex <>1;(select * from student where sex != 1;)   查询sex 字段不等于1的数据

创建student
/*create table stu(id int(4) primary key,age int(8),sex int(4),name varchar(20),class int(4),math int(4));


insert into stu values(1,25,1,"zhangsan",1833,90),

(2,25,1,"lisi",1833,67),(3,28,0,"xiaowang",1835,79),(4,35,1,"xiaoliu",1835,96),(5,27,0,"xiaoli",1833,86),
(6,32,1,"xiaochen",1835,48),(7,22,1,"wangwu",1834,70),(8,31,0,"xiaoqi",1825,88),
(9,27,0,"xiaoqi",1833,74),(10,27,1,"niuqi",NULL,80);
*/

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册