1.数据库的简介
常见数据库:
oracle:是oracle公司产品,大型的收费数据库
db2:ibm公司的产品,大型收费数据库
SQLServer:微软公司出品,中型数据库
MySQL:被oracle收购hou6.x版之后收费,之前版本免费
SQLite:小型的嵌入式数据库,应用在客户端开发中,如安卓
(非关系型数据库)HBase,不成熟
2.MySQL的默认端口:3306
3.mysql服务器的存储结构
mysal服务器:在硬件上就是一台电脑,软件上就是安装了数据库的电脑
数据库,表,记录
4.sql语言
sql:Structured Query Language,结构化查询语言,对数据库进行操作;sql是非过程性语言,不需要依赖于其他的条件就可以运行
sql的分类:DDL,DML,DCL,DQL
5.使用sql对数据库操作
链接数据库:mysql -u root -p
创建:create database 名称;
查看:show databases;
删除:drop database 名称;
切换数据库:use 要切换的数据库名称;
6.使用sql对数据库表进行操作
创建:create table 表名(
字段 类型,
字段 类型
)
musql的数据类型
字符串型:char(用空格补齐位数), varchar
大数据类型:blob,text
数值型;tinyint,smallint,int,bigint,float,double,decimal
逻辑型:bit
日期型:date,time,datetime(手动添加),timestamp(自动把时间添加到表里)
mysql的约束
非空,唯一性,主键
查看表结构:desc 表名;
删除:drop table 表名;
查看当前数据库的表
show tables;
7.sql对表中记录的操作
添加:insert into 表名 values();
注意:添加的字段为int类型直接写值,添加类型为char,varchar,日期类型,用单引号包起来
修改:update 表名 set where
删除:delete from 表名 where
查询:select * from 表名 where
别名:* as 别名 as可省略
去重复:distinct select distinct * from
where子句:运算符;in;and;or(and的优先级高于or);between and;like(%,_)
查看当前运行的数据库:select database();
多表操作:inner join;left join;right join
对表查询记录的排序:order by 排序字段 asc/desc ,order by 写在select的最后面
8.聚集函数
count(1)效率问题;sum();avg();max();min();
ifnull(chinese,0)函数
9.分组操作
group by/having;
where后面不能跟聚集函数,要用having
10.navicat from mysql
11.mysql的关键字limit
查询表中的某几条记录;mysql中特有,不是标准SQL的关键字
select * from 表名 limit 一个参数/两个参数
,一个参数表示表的前几条记录,两个参数:第一个为初始位置,从0开始,第二个参数为取几条
oracle:rownum/sqlserver:top