数据库
什么是数据库?
用于存储数据的仓库。更重要的是,它能够对数据进行分类,而且可以快速找到这些数据。
数据库分类
-
关系型数据库。
关系就是一张二维表。数据库主要靠表来存储数据,有些时候表与表之间有关联关系。
mysql, Oracle, SQL Server
-
非关系型数据库。no-sql数据库 (not only sql)
mongodb, redis
目前主流的数据库:mysql,oracle。
如何操作数据库
- 首先要有一个数据库服务器。—mysql安装包(32位和64位)。
- 启动mysql服务。(net start mysql, 或者右键我的电脑->管理->服务->标准->myslq->右键启动)
- 登陆数据库服务器。(mysql -uroot -p你的密码)
- 做数据库的操作。(DDL,DCL,DML)
- 退出数据库服务器。(exit)
数据库的常用命令
SQL(Structured Query Language)结构化查询语言。它是一门语言,这门语言用于操作数据库。
表是数据操作的基本单元。
表中的几个概念:
字段,也叫属性,也叫列名。
记录,一条记录用于表示一个完整信息,也称为元组。
-
创建数据库
create database 数据库名
例如: create database lanounbest;
-
查看全部的数据库
show databases;
-
进入数据库(切换数据库)
-
use 数据库名;
例如:use lanounbest;
-
查看数据库中有哪些表
show tables;
-
删除数据库
drop database 数据库名;
例如:drop database lanounbest;
-
创建表
create table 表名(字段名 类型, 字段名 类型,…)
create table `user`( `id` int(10) primary key auto_increment, `username` varchar(30) not null unique, `password` varchar(16) not null, `nickname` varchar(10), `email` varchar(30) unique, `create_time` datetime, `last_login_time` datetime, `status` int(5) default 1 );
-
添加数据(插入数据)
insert into 表名(列名, 列名, 列名,…) values (值,值,值,…),(值,值,值,…),…
insert into `user`(`username`, `password`) values('qiaoshouyuan', '123456'),("huleilei","woaiwanjingwei");
insert into 表名 values(值,值,值…),(值,值,值,…),…
insert into `user` values (null,'liuxiang','liguang', '极客刘', 'liuxiang@163.com', '2019-08-21 11:49:39', '2019-08-21 12:25:13', 1);
-
更新数据
update 表名 set 列 = 值, 列 = 值, … where 条件
update user set nickname = '老崔',password = '8888' where id = 3;
-
删除数据
delete from 表名 where 条件
delete from user where id = 1;
-
删除表
drop table 表名
drop table user;
-
查询数据
查询指定列的数据(所有行)
select 列名, 列名,… from 表名
查询所有列的数据(所有行)
select * from 表名
查询指定列的数据(所有行,部分列起了别名)
select 列名 as 新的列名, 列名 新的列名,… from 表名
-
带条件的查询语句
select 列名,列名,… from 表名 where 条件
条件可以是关系运算 > = >= < <= !=
条件可以是模糊查询条件 like % _
条件可以支持 and or
条件可以支持 between …and
条件可以支持 in( )
-
分组查询(group by)
分组查询是对查询结果进行分组。分组一旦成功,查询结果里相同的值只会出现一次。
通常,分组后不再对单独数据进行查询,而是对整个组进行查询。可以查询 max(列名) min(列名) avg(列名) sum(列名)
-
排序(order by)
select 列名,… from 表名 order by 列名 desc , 列名
-
限制条数(分页查询)
取前5条数据
select * from 表名 where 条件 limit 5;
从指定下标开始取,取若干条
select * from 表名 where 条件 limit 其实下标, 条数