1.数据库基本概念
- 数据库的英文单词:database 简称DB
- 什么是数据库?
用户存储和管理数据的仓库 - 数据库特点:
a) 持久化存储数据,其实数据库就是一个文件系统
b) 方便存储和管理数据
c) 使用同一的方式操作数据库——SQL
2. mysql软件安装
安装:
自定义安装
卸载:
1)在安装目录找到my.ini,打开配置文件,复制datadir=‘c:/programData/MysQL/……/Data/’
2)控制面板找到mysql卸载,卸载完成并没有卸载干净,找到 ‘c:/programData目录下的MYSQL文件夹删除(如果是隐藏文件,可以先将它显示出来)
配置:
- MySQL服务:
1) 启动:手动:计算机右键——管理——服务和应用程序
2) 命令:cmd—services.msc 也可打开服务和应用窗口
3) 使用管理员打开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
2) 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
- DDL操作数据库(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 表名;
DML增删改操作数据
1)添加数据:
语法:
insert into 表名(列名1,列名2,……列名N)values(值1,值2,列名N);
注意:
- 列和值一一对应,类型一致
- 定义时不写具体列,则默认给所有列添加值
insert into 表名 values(值1,值2,列名N); - 除了数字类型,其他类型值需要使用 引号
2)删除数据
语法:
delete from 表名 【where 条件】
注意:
-
如果不加条件,则删除所有记录
-
如果要删除所有记录
delete from 表名 --不推荐,有多少记录会执行多少次操作,效率低 truncate table 表名 --推荐,删除整个表格,再创建一个一样的空表,效率高
3)修改数据
语法:
updata 表名 set 列名=值,列名2=值2…… where 条件;
注意:
不加条件,则所有值都会修改
4.常见的数据库软件
看排行:
- Oracle:java的后爹公司,收费,大型公司使用
- Mysql:被sun收购、又被Oracle收购
- SQL server:微软公司,中型数据库,收费
- DB2:IBM公司的大型数据库,用在银行中
- SQlite:嵌入式小型数据库,应用在手机端