数据库的基本概念
1.数据库–>DataBase (DB)
2.作用->用于存储和管理数据的仓库
数据库的基本特点
1.持久化存储数据,其实是数据的一个文件系统
2.方便存储和管理数据
3.使用了统一的方式操作数据库–Sql
常见的数据库
MySql Oracle ServerSql
MySql数据库软件
1.安装–>卸载–>配置
2.卸载:
去mysql的安装目录找到my.ini文件,复制datadir=“C:/ProgramData/MySQL/MySQL Server 5.5/Data/”
卸载MySQL:删除C:/ProgramData目录下的MySQL文件夹
配置:MySQL服务的启动1.手动 cmd->services.msc 打开服务的窗口2.使用管理员打开cmd启动:net start mysql 启动服务停止:nert stop mysql 关闭服务登录:mysql -uroot -pmysql -hip -uroot -p连接密码退出:exitquiz
MySQL的目录结构:
1. MySQL安装目录:basedir=“D:/develop/MySQL/”
* 配置文件 my.ini
2. MySQL数据目录:datadir=“C:/ProgramData/MySQL/MySQL Server 5.5/Data/”
* 几个概念
* 数据库:文件夹
* 表:文件
* 数据:数据
SQL概念:Structured Query Language
SQL 通用语法:
1.sql语句中支持单行或者多行书写,分号结尾
2.可以使用空格和缩进来增强语句的可读性
3.Mysql中不区分大小写,建议使用大写方式
4.多种注释
单行–>–注释内容 或者#(mysql独有)
多行–>/* 注释 */
SQL的分类
1.DDL–>数据定义语言
用来定义数据库对象:数据库,表,列等,关键字;create drop alter等
2.DML–>数据操作语言
用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等
3.DQL:数据查询语言
用来查询数据库中表的记录(数据)。关键字:select, where 等
4.DCL:数据控制语言
用来定义数据库的访问权限和安全级别,以及创建用户,关键字:GRANT, REVOKE 等
DDL:操作数据库、表
1.操作数据库:CRUD
C:创建数据库:
create database 数据库名称;
创建数据库不存在
create database if not exists 数据库名称;
create database 数据库名称 character set 字符集名(utf-8);
R:(Retrieve):查询
查询所有的数据库的名称:
show databases;
查询某个数据库的字符集和数据库的创建语句:
show create database 数据库名称;
U:(Update):修改
修改数据库的字符集:alter database 数据库名称 character set 字符集名称;
D:(Delete)删除
删除数据库
drop database 数据库名称;
判断数据库是否存在,存在在进行删除:drop database if exists 数据库名称;
使用数据库:
查询当前正在使用的数据库名称
select database();
使用数据库:
use 数据库名称;
操作表1.C(create):创建语法:create table 表名(列名1 数据类型1,列名2 数据类型2,列名n 数据类型n);数据类型:int --整数类型double-- 小数类型date --日期类型 包含年月日(yy-mm-dd)dateTime--日期 包含年月日时分秒(yy-mm-dd hh:mm:ss)varchar--字符串 varchar(20)创建表:create table student(id int,name vachar(32),age int);赋值表:create table 表名 like 被复制的表名R:(Retrieve)查询修改表名:alter table 表名 rename to 新的表名修改表的字符集:alter table 表名 character set 字符集名称添加列:alter table 表名 add 列名 数据类型修改列:alter table 表名 change 列名 新列名 新的数据类型alter table 表名 modify 列名 新数据类型删除列:alter table 表名 drop 列名D:(Delete)删除drop table 表名;drop table if exists 表名;DML:增删改表中的数据1.添加数据insert into 表名(列名,列名2,..列名n)values(值1,值2,..值n)2.删除数据delete from 表名 【where条件】不加限制条件-》默认删除所有的记录delete from 表名;truncate table 表名;效率高,先删除表,然后在创建一张一模一样的表3.修改数据update 表名 set 列名1=值1 ....[where 条件];
DQL;查询表中记录
1.select
字段列表
from
表名
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
2.基础查询
多字段查询:
select 字段名1,字段名2…from 表名
去重:
distinct
计算列:ifnull(表达式1,表达式2):null参与的运算,计算结果都为null
* 表达式1:哪个字段需要判断是否为null
* 如果该字段为null后的替换值。
起别名:as
**条件查询**where 字句后面必须跟条件运算符> < <= >= = <>BETWEEN...ANDIN(集合)LIKE:模糊查询占位符:_--单字符%--多个任意字符IS NULLand 或者&&or 或者||not 或者!
注意:NULL值是不能单独使用的