数据库(保存数据的 保存到一个文件当中 对数据进行持久化)
使用简单命令进行增删改查
数据库系统
可以操作数据的应用程序
常用的数据库
myspl数据库 中小型 6.0之前免费
DDL 数据库定义语句 CREATE ALTER DROP
DML 数据操作语句 Insert update delete
DQL 数据库查询 Select
SQL语句不分大小写 以;结束
*
*
进入数据库指令 mysql -uroot -p
查询现有的数据库
show databases;
创建一个数据库
create database 数据库名;
制定查询一个创建的数据库(查询该数据的编码格式)
window默认utf8
mac 初始拉丁-1
show create database 数据库名;
创建数据库 执行字符集(一般使用utf8)
create database 数据库名 character set 字符集名字(utf8);
修改数据库创建时的默认字符集
my.cnf(有数据库的默认配置文件)
在/etc文件下 可以找到
直接把文件放进去 要重启mysql 才能被加载
查看字符集的校验规则
每一个编码格式都有一个对应的校验规则
show character set;
创建数据库 制定字符集和校验规则
collate 校验
create database 数据库名 character set 字符集名字(utf8) collate 校验规则;
create database mydb4 character set utf8 collate utf8_general_ci;
注意 校验规则要对应
修改数据库
1.修改编码格式(Alert 修改)
alter database 数据库名 +要改什么(character set)
2.删除数据库(drop 删除)
drop database 数据库名;
表的操作
创建一张表 (最后一个字段没有逗号)
create table 表名(
字段1 字段类型,
字段2 字段类型.
.....
字段3 字段类型
);
常用
int
double
数据库中的字符串 用英文的单引号''
char 声明固定长度字符串
char(10) 长度为10 'abc '
效率高 浪费空间
varchar 声明可变长度字符串
varchar(10) 'abc' 系统会判断把空值去掉
省空间 但是效率相对于固定长度的char低
date 日期类型yyyy-MM--dd
time 时间 hh:mm:ss
timestamp:时间戳 yyyy-MM--dd hh:mm:ss
传入空值 系统默认帮你赋值 系统时间
也可以使用字符串插入
text:字符串类型 大文本
blob:字节类型
需求:
查询当前使用哪个数据库
select database();(显示null 表示没有正在使用的数据库)
use 数据库名;
字段 属性
Id 整型
name 字符
gender 字符
birthday 日期
Entry_date 日期
job 字符
Salary 小数
resume 大文本
查看表结构
desc 表名;
查看表内容(*代表所有字段)
select * from 表名;
表中插入数据
1.insert into 表名(字段1,字段2,....) values(值1,值2....);
注意字段与值得顺序和类型一一对应
如果该字段没值 只用null代替
2.批量插入
insert into 表名 values(值1,值2....),(值1,值2....),(值1,值2....);
修改表DDL语句
alter table 表名+关键字
1.添加一字段 image blob类型 alter table mytab add image blob;
2.修改一个字段长度 job 长度变60 alter table mytab modify job varchar(60);
3.删除一个字段image alter table mytab drop image;
修改表名为user
rename table 旧表名 to 新表名;
查看表格创建细节
show create table 表名;
列名name 修改为 username
alter table 表名 change 旧字段名 新字段名 新字段名的类型;
更新表数据ubdate
update 表名 set 字段1=值1,字段2=值2 where 字段=值
将所有员工薪水修改为5000元。 update user set Salary=5000;
将姓名为’a’的员工薪水修改为3000元。 update user set Salary=3000 where username='a';
将姓名为’zs’的员工薪水修改为4000元,gender改为f。
update user set Salary=4000,gender='f' where username='zs';
将wu的薪水在原有基础上增加1000元。 update user set Salary=Salary+1000 where username='wu';
删除操作(删除的)
delete from 表名 where 字段=值;
删除表中所有数据
delete from 表名; 一条记录一条记录的删除 如果删除错误,数据可以找回(效率低)
truncate table 表名; 将表整个删除,重新建立一张跟原来字段相同的表(效率高 不能找回)