数据库知识点

一、数据库分类

● MySQL
● SQL Server
● Oracle
● Sybase
● DB2
● 等等…
  RDBMS:关系数据库管理系统(Relational Database Management System)的特点:

  1. 数据以表格的形式出现
  2. 每行为各种记录名称
  3. 每列为记录名称所对应的数据域
  4. 许多的行和列组成一张表单
  5. 若干的表单组成database

二、非关系型数据库(NoSQL)

NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库。

● MongoDB

MongoDB 是一个高性能,开源,无模式的文档型数据库,开发语言是C++。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。

● Redis

Redis 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。目前由VMware主持开发工作。


三、SQL语句

1.2 语法要求

l SQL语句可以单行或多行书写,以分号结尾;
l 可以用空格和缩进来来增强语句的可读性;
l 关键字不区别大小写,建议使用大写;


四、常用类型:

l int:整型
l double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
l decimal:浮点型,在表示钱方面使用该类型,因为不会出现精度缺失问题;
l char:固定长度字符串类型;
l varchar:可变长度字符串类型;
l text:字符串类型;
l blob:字节类型;
l date:日期类型,格式为:yyyy-MM-dd;
l time:时间类型,格式为:hh:mm:ss
l datatime:时间戳类型;

五、------------------

5、1 创建表:

CREATE TABLE 表名(
列名 列类型,
列名 列类型,
);

例如:

CREATE TABLE stu(
         sid        CHAR(6),        # 默认 null,(可以为空)
         sname      VARCHAR(20),
         age            INT,
         gender     VARCHAR(10)
);
5、2 删除表: drop table 表名;

drop table studentinfo;


六、操作数据库:

插入数据: (insert into 是固定句式)
insert into studentinfo (name,age,sex)values(‘老王’,‘男’,‘12’) – 注意用 单引号 包裹起来。
删除数据:
delete from studentinfo where name=‘老王’ – 若 有三个老王 则 都删除。
修改数据:
update studentinfo set name='花花‘ where name=‘老王’ – 老王 修改成 花花


– show databases; – 显示当前MySQL中所有数据库
– user mysql; – 进入MySQL数据库
– show tables; – 显示MySQL数据库中所有的表
select user,host from user – 查询MySQL中user中的user和host

七、

数据库操作:

1.显示数据库

  • show databases

2.进入指定数据库

  • use 数据库名称 (已修改,谢谢)

3.创建数据库

  • create databases 数据库名称

4.删除数据库

  • drop databases 数据库名称

八、

-----------------------------
两行代码同时运行,就会出现两个结果。两条代码一起运行记得加分号!!


between 数 and 数 :谁谁之间,包含谁
例如:
– select * from student0 where p_sal >=5000 and p_sal <= 8900;
– select * from student0 where p_sal between 5000 and 8900
错的:select * from student0 where 5000 <= p_sal <=8900


按什么排序:asc / desc
select 要显示的字段 from 表名 | order by 要排序的字段名 asc(排序方式)
select * from student0 | order by p_sal asc
asc 正序(默认),小的在上面
desc 倒序


两行和一行:
select p_leader from student0 where p_age = ‘21’ 结果是:p003
select * from student0 where p_id = ‘p003’ 结果是:id为p003的岳不群
两条代码一起运行记得加分号!!
select * from student0 where p_id = (select p_leader from student0 where p_age = ‘21’)
将第一行代码的结果传入第二行代码的条件中。

九、

1、用户管理:

创建用户

  • create user ‘用户名’@‘IP地址’ identified by ‘密码’;

删除用户

  • drop user ‘用户名’@‘IP地址’;

修改用户

  • rename user ‘用户名’@‘IP地址’; to ‘新用户名’@‘IP地址’;;

修改密码

  • set password for ‘用户名’@‘IP地址’ = Password(‘新密码’)

PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)

2、授权管理

show grants for ‘用户’@‘IP地址’ – 查看权限
grant 权限 on 数据库.表 to ‘用户’@‘IP地址’ – 授权
revoke 权限 on 数据库.表 from ‘用户’@‘IP地址’ – 取消权限

关于权限:(等等)

all privileges 除grant外的所有权限
select 仅查权限
select,insert 查和插入权限

usage 无访问权限
alter 使用alter table
alter routine 使用alter procedure和drop procedure
create 使用create table
create routine 使用create procedure


1、数据库:
概念:存储数据,以文件的形式存储
好处:1.永久保存数据(理论上)
2.数据共享
3.可以通过命令进行数据的精准查找
2、数据库分类:
1.关系型数据
mysql oracle sql server db2 …
特点:以表格形式进行数据库存储
2.非关系型数据(NOSQL数据库)
MongoDB redis

3、MySQL介绍:
优点:免费,可靠,支持千万级的数据吞吐量
环境安装:安装包方式(next…)
解压方式安装(http://www.cnblogs.com/wangfengming/p/7880595.html)
客户端安装
连接数据:mysql -u root -p 回车
输入密码 ******
数据库的操作:
①创建:
create database 库名; (不带 s)
②使用库:
use 库名 ;
③删库:
drop database 库名; (不带 s)
④显示当前用户下所有的数据库:
show databases; (带 s)
4、表操作:
①创建:
create table 表名(
字段名 类型(长度) 是否为空 是否为主键 ps:主键:非空,唯一)
②删表:
drop table 表名;
③添加表的字段
alter table 表名 add 字段名称 类型(长度) 约束条件;
④删除表的字段
alter table 表名 drop 字段名称;
⑤修改表的字段:
alter table 表名 change 旧字段 新字段 类型(长度) 约束条件
— 记得新字段设置的 数据类型 长度等 要符合 旧数据
⑥查看表:
desc 表名

5、SQL 增删改查:
增:insert into 表名 values(要求:字段的位置与个数必须一一对应)
insert into 表名 (表字段 名称,多个以 ’,‘ 间隔) values (字段值,多个以 ’ ,‘ 间隔)
insert into 表名2 (select * from 表名1)
insert into 表名2 (name,age) values (select name,age from 表名1)
改:
updata 表名 set 字段名 = ‘值’ where 字段名 = ‘条件值’
updata 表名 set 字段1 = ‘值1’ ,字段2 = ‘值2’ where 字段1 = ‘条件1’ and 字段2 = ‘条件2’
删:(删值,字段的值)
delete from 表名 where 条件;
delete from 表名;自增长什么鬼?##################-- 清空啊也是
清空表:
truncate 表名 ;
真删假删。######################
查:(核心)
1.select * from 表名; * 表示 通配符 ps:最好把 * 替换成具体字段。
2.条件查询:select * from 表 where 字段1 = ‘值1’ where 后可以用逗号隔开条件吗!!!不可以!!!
3.逻辑查询:select * from 表 where 字段1 != 值1 and z2 >=v2 逻辑运算符: = ,<,>,!=,<>,<=,>=
4.模糊查询: ‘%ppp%’ 可以查到以ppp结尾的吗 !!可以的!开头也能查到。
5.集合查询:select * from 表名 where 字段 in (‘值1’,‘值2’,‘值3’)
6.区间查询:where 字段 between 值1 and and 值2 (包含值1,2)
7.排序:desc/asc 倒序不会,正序默认,哈哈哈。
select * from 表 order by 字段 desc;
8.嵌套查询:
select * from 表 where 字段 in (select 字段 from 表 where id=’值1‘)
ps: () 表示优先执行。
‘=’ ,值唯一,in :值为集合


Na:

default 默认值
not null 非空
primary key 主键
auto_increment 自增
coalesce (a,b,c) a空b,b空c


聚合函数:

sum()
avg()
max()
min()
group by 字段名 :分组
order by 字段名 desc/asc :排序


  • 风的季节 — Soler

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值