找回密码
 立即注册
本帖最后由 南京16-常路 于 2023-3-21 20:29 编辑

1、数据库定义:是存放数据的电子仓库。

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

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

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

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

4、关系型数据库有哪些
1.db2
2.oracle
3.mysql
4.sql server

5、非关系型数据库有哪些
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数据库的状态

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();    ==》查看当前在那个库

16)创建一个表
create table +表名(
字段1名称 数据类型 约束,
字段2名称 数据类型 约束,
字段3名称 数据类型 约束,);

mysql> create table dcs(id int(10) primary key auto_increment,score float(10,2) not null,
name varchar(10),phone bigint(10)default 13977778888,time date);

mysql> desc dcs;
+-------+-------------+------+-----+-------------+-------+
| Field | Type        | Null | Key | Default     | Extra |
+-------+-------------+------+-----+-------------+-------+
| id    | int(10)     | NO   | PRI | NULL        |       |
| score | float(10,2) | NO   |     | NULL        |       |
| name  | varchar(10) | YES  |     | NULL        |       |
| phone | bigint(10)  | YES  |     | 13977778888 |       |
| time  | date        | YES  |     | NULL        |       |
+-------+-------------+------+-----+-------------+-------+

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.查看表结构
desc +表名
显示字段名称,数据类型,约束,备注
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,字段
3value...),(字段1value,字段2value,字段3value...)
多条插入数据
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

【查】  select  * 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 个回复

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