1.什么是数据库
是存储数据的电子仓库
2.数据库分类
2.1关系型数据库
定义:数据库中表与表存在某种关系,数据存储在不同的表中
db2
mysql
oracle
sql server
2.2非关系型数据库
定义:通常数据是以对象的形式存储在数据库中
mongo
redis
3.linux添加卸载MySQL
yum install mysql
删除数据库
首先要查询数据库有哪些内容
rpm -qa|grep mysql
然后输入
rpm -e --nodeps 加上上面查询到的内容
4.启动mysql
service mysqld start
停止是service mysqld stop
查询mysql状态 service mysqld status
5.设置密码
mysqladmin -urooyt password '123456'
二.数据库命令(在数据库)
1.授权访问
grant all privileges on . 'root'@'%' identified by '123456';(by后面跟的是用户密码)
然后刷新权限
flush privileges;
在外部访问之前要开端口3306(端口没改的情况下),或者关闭防火墙
2.创建数据库
create database 数据库名;
3.查询数据库
show databases;
4.创建表
create table 表名 (字段名 字段类型(值),字段名 字段类型(值));
create table student2(id int primary key ,name char(20),sex char(10),age int(3),mobile char(20),class char(10),english int(10),chinese int(10),math int(10))engine=innodb default charset=utf8;
如上所示 其中primary key为主键意思是id为主键,default charset=utf8表示数据格式为utf8.
在创建表中在添加字段输入not null 即可将字段设置为字段值不为空
unique 唯一索引:保证字段值具有唯一性,并且能为空,一个表中可以有多个唯一索引
default 默认值约束 定义:默认给字段指定默认值
5.删除表
drop table 表名;
6.插入数据
inster into 表名 values(值,值,值)(要与表的字段一一对应)
某个值插入数据
inster into 表名(字段名称) values(值)
INSERT into student2 (age) VALUES(1000)
7.查看表结构
desc 表明
8.给表字段换名
alter table 表名 changer 字段名 新的字段名 字符类型(字符长度);
9.给表添加字段
alter table 表名 add 字段名 字符类型(字符长度);
10.删除表的字段
alter table 表名 drop 字段值;
11.修改表名
alter table 表名 rename 新表名;
12.修改字段位置
alter table 表明 modify 字段名 after 字段名;
13.将某个字段放到第一位
alter table 表名 first 字段值;
14.查询表命令
select * from 表名;
根据条件查询表数据
select * from 表名 where 字段值
三.查询内容
1.查询多个字段用“,”隔开
2.运算符号
注意between and 包含边界值
3.模糊查询 like
表示一个占位符
% 可用于定义通配符(模式中缺少的字母)。
特殊的
-- 查询姓名中第二个字符为_的员工信息
SELECT * from employees where last_name like "_%";
SELECT * from employees where last_name like "^%" ESCAPE "^"; -- ESCAPE 定义一个符号
4.null做任何计算都为空
5.排序 ORDER BY desc|asc (降序|升序)
-- 部门编号>50的按照工资从高到低排序,如果一样在按照first_name升序
SELECT * from employees where department_id >50 ORDER BY salary DESC ,first_name ASC;
-- 将姓名中包含e字符的年薪和姓名显示出来,并按年薪进行降序
SELECT 12salary(1+IFNULL(commission_pct,0)) as 年薪,last_name from employees where last_name like "%e%" ORDER BY 12salary(1+IFNULL(commission_pct,0)) desc;
SELECT 12salary(1+IFNULL(commission_pct,0)) as 年薪,last_name from employees where last_name like "%e%" ORDER BY 年薪 desc;
-- 显示所有获得奖金的员工姓名、奖金、姓名长度,按姓名长度从低到高排序
SELECT 12salary(IFNULL(commission_pct,0))as 年薪,last_name,LENGTH(last_name) from employees where commission_pct is not null ORDER BY LENGTH(last_name);