1.数据库基本概念
- 数据库的英文单词:database 简称DB
- 什么是数据库?
用户存储和管理数据的仓库 - 数据库特点:
a) 持久化存储数据,其实数据库就是一个文件系统
b) 方便存储和管理数据
c) 使用同一的方式操作数据库——SQL
2. mysql软件安装
安装:
自定义安装
卸载:
1)在安装目录找到my.ini,打开配置文件,复制datadir=‘c:/programData/MysQL/……/Data/’
2)控制面板找到mysql卸载,卸载完成并没有卸载干净,找到 ‘c:/programData目录下的MYSQL文件夹删除(如果是隐藏文件,可以先将它显示出来)
配置:
- *MySQL服务:
- 启动:手动:计算机右键——管理——服务和应用程序
- 命令:cmd—services.msc 也可打开服务和应用窗口
- 使用管理员打开CMD Net start mysql 或net stop mysql(如果安装的是MYSQL8则改为net stop mysql80)*
- MysQL登录:
1)登录本地服务:mysql -uroot -p
2)登录远程电脑:mysql -hip -uroot -p
- MysQL退出:
1)quit
2)exit
MySQL目录文件:
1)mysql安装目录
找到my.ini
- Mysql数据目录
数据库:文件夹
表:文件
数据:内容
3.SQL
1)什么是sql
结构化查询语言,是一种规则,操作所有关系型数据库的规则。
2)sql通用语法:
可以单行或多行书写,以分号结尾
使用空格和缩进增强语句的可读性
Mysql数据库的语句不区分大小写,关键字建议大写
3种注释:
单行注释:-- 注释内容或 # 注释
多行注释:/* 注释 */
3)sql语句分类
DDL 数据定义语言 (操作数据库、表)
如:create drop alter
DML 数据操作语言(操作数据库中记录,增删改表中 数据)
如:inisert, delete,update
DQL 数据查询语言(查询表中数据)
如:select ,where
DCL 数据控制语言(授权,权限和安全级别访问)
如:GRANT,REVOKE
-
操作数据库(CRUO)
1.C:CREATE创建;
练习:创建DB4数据库,判断是否存在,并指定字符集为gbk
create database if not exists db2 character set gbk;
2.R:RETRIEVE查询,
查询所有数据库的名称
show databases;
查询某个数据库的创建名称
show create database 数据库名称;
3.U:UPDATA修改
练习:修改数据库DB4的字符集为UTF8
alter database db2 character set utf8;
4.D:DROP删除
DROP database if exists db2;
5.使用数据库
use 数据库名称;
查询当前正在使用的数据库名称,若无则 为null
select database();
- 操作表:(CRUO)
1.C:CREATE创建表;
语法:create table 表名(
列名1 数据类型1,
列名2 数据类型2,
列名3 数据类型3);
注意:最后一列,不需要加逗号
复制表:create table 表名 like 被复制的表名
常用数据类型:
int:整型 age int,
double:小数类型 score double(5,2)
date:日期格式,只包含年月日,yyyy-MM-DD
datetime:日期,包含年月日分秒 yyyy-MM-DD HH:mm:ss
timestamp:时间戳类型,同上datetime,唯一区别:如果 不赋值,或赋值为Null,则默认为系统时间,自动赋值。
varchar:字符串 name varchar(20)
如:zhangsan 8个字符 张三 2个字符;
2.R:RETRIEVE查询,
查询所有数据表
show tables;
查询表结构
desc 表名;
3.U:UPDATA修改表
修改表名
alter table 表名 rename to 新表名;
修改表的字符集
alter table 表名 character set 字符集名称;
--修改前查看字符集 show create table stu;
添加一列
alter table 表名 add 列名 数据类型;
修改列名称 类型
alter table 表名 change 列名 新列名 类型;
alter table 表名 modify 列名 新类型;
删除列
alter table 表名 drop 列名;
4.D:DROP删除
DROP table 表名;
DROP table if exists 表名;
4.常见的数据库软件
看排行:
- Oracle:java的后爹公司,收费,大型公司使用
- Mysql:被sun收购、又被Oracle收购
- SQL server:微软公司,中型数据库,收费
- DB2:IBM公司的大型数据库,用在银行中
- SQlite:嵌入式小型数据库,应用在手机端