数据库

数据库:
市场上比较流行的数据库管理系统软件:
关系型数据库:
1.mysql:
免费,开源,比较小,容易上手,入门
2.Oracle :甲骨文
商用数据库管理系统
3.DB2:
IMB公司的数据库管理系统
4.sqlserver 2008:
微软的数据库
5.达梦
made in china 中国自己研发,独立知识产权的数据库
6.progres
非关系数据库nosql:
sqlLite ,redis , mongodb,hbase,Hive
数据库管理系统(DBMS)是指帮助用户使用和管理数据库的软件系统
数据库的主要作用:
存储大量数据,方便检索和访问
保存数据信息的一致,完整
共享和安全
通过组合分析,产生新的有用信息
SQL:结构化查询语言 是关系型数据库标准语言
特点:简单,灵活,功能强
SQL包含6个部分:
1.数据查询语言(DQL)
2.数据操作语言(DML)
3.事务处理语言(TPL)
4.数据控制语言(DCL)
5.数据定义语言(DDL)
6.指针控制语言(CCL)
书写规则:
1.数据库中,SQL语句大小写不敏感(不区分大小写)
2.SQL语句可单行或多行书写
3.在SQL语句中,关键字不能跨多行或缩写
4.为了提高可读性,一般关键字大写,其他小写
5.空格和缩进使程序易读
数据库三大范式:
第一范式:最基本的范式;
第二范式:确保表中的每列都和主键相关,第二范式在第一范式的基础之上更进一层;
第三范式:需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。
数据库扩展知识:
1.数据库的创建
2.数据库的删除
3.数据库的重命名
4.数据库的创建(设计)
5.数据库表的修改
6.数据库表的删除
7.数据库表的查询
8.数据库表数据的增删改查
9.数据的导出
10.数据的导入
数据库的注释:
–单行注释
/* */ 多行注释
数据库管理系统:
包含多个数据库
一个数据库可以包含多张表
一个表可以包含多个字段
一个表可以保存多条记录
mysql数据库的登录:
打开终端,运行命令(前提需要配置mysql环境变量)

 mysql -u root -p
 password:root

数据库的操作
1.显示数据库列表:

 show databases;
  select database(); 查看当前选择的数据库
  1. 创建数据库:

     create database 数据库名;
     charset = utf8
    

3.删除数据库:

 drop database 数据库名

4.切换数据库:

use 数据库名;

5.查询当前数据库中的表:

show tables;

6.查看当前选择的数据库:

select database();

7.数据备份与恢复:
进入mysql库目录,运行mysqldump命令

mysqldump -u root -p 数据库名 > E://test.sql

按提示输入mysql的密码
数据恢复:
连接mysql,创建数据库
退出连接,执行以下命令:

mysql -u root -p 数据库名 < ~/Desktop/备份文件.sql

根据提示输入mysql密码
8.添加用户:

create user admin@localhost identified by'123456';

9.添加权限(需要以管理员root用户的身份登录之后授权):

grant all on *.* to 用户名@localhost identified by'123456';
grant select insert delete on *.* to 用户名@localhost identified by'123456'

10.删除用户:
用户是保存在mysql数据库的user表中

use mysql;
delete from user where user = '用户名';

11.修改密码

use mysql;
update user set password = password('新密码') where user = 'admin';         //admin:用户名

数据库中表的操作:
1.查看当前数据库中所有的表

show tables;

2.创建表

create table student(
id int not null primary key,
name varchar(20) not null,
sex varchar(2),
age int
);

3.显示表结构

desc 表名;

4.删除表

drop table student;

5.插入数据

insert into student(id,name,sex,age) values(1,'a','M',20);
insert into student(id,name,sex,age) values(2,'b','M',19);
insert into student(id,name,sex,age) valuse(3.'c','M',23);

6.查询数据

     select * from student;
     select id,name,sex from student;

7.修改数据

update student set name = 'test' where id =100;
update student set name = 'ttt',sex = 'W' where id = 100;

8.删除数据

delete from student where id =100;
delete from student;

9.清空表

truncate table student;

10.as关键字:用以定义别名

select id,name as username from student;

distinct 关键字:用于消除重复记录

select distinct name from student;

where 关键字:用于条件过滤

select * from student where id = 100;
select * from student where name <> '张三';
select * from student where name like '%ad%';

in 关键字:表 是否在指定范围

select * from student where id in(1,2,5);

11.表的重命名
alter table 表名 rename 新表名;
12.修改表的列属性名(字段名)
alter table 表名 change 原字段名 新字段名 类型;
13.改变某个字段的数据类型
alter table 表名 change 原字段名 修改之后的字段名 字段类型;
14.添加某一列
alter table 表名 add 列名 类型;
15.删除表的某一列
alter table 表名 drop 列名;
16.修改表中字段名是否为空
alter table 表名 modify 字段名字段类型 null;
17.创建表时添加唯一性约束
表名 varchar(18) not null unique;
18.创建表时添加自增
表名 int not null null AUTO_INCREMENT;
19.给建好的表中的字段添加唯一性
alter table 表名 add unique(字段名);
20.去掉默认值
alter table 表名 alter column 字段名 drop default;
21.设置默认值
alter table 表名 alter column 字段名 set default 默认值;
alter table 表名 modify column 字段名 字段类型 default 默认值;
22.添加非空约束
alter table 表名 modify column 字段名 not null;
23.添加主键
alter table 表名 add primary key(字段名);
24.删除主键
alter table 表名 drop primary key;
25.添加外键
alter table 表名 add foreign key(字段名) references 另一个表(字段名);
26.删除外键
alter table 表名 drop foreign key 外键名;
27.添加字段;
alter table 表名 add column 字段名 数据类型;
alter table 表名 drop column 字段名;
28.查询当前版本号
select version();

你可能感兴趣的:(数据库)