mysql 数据库
数据库就是存储数据的仓库
有四种方式存储数据:
1>变量 临时变量,使用完毕,会被垃圾回收器收回,保证内存的释放
2>数组 java中数组长度固定
3>集合 长度可变,也意味着不断的创建新的集合,new新的对象,对内存不友好
4>IO流 Input 读取, Output 写出,读写过程比较耗时
所以使用数据库:
1>永久性
2>效率高
3>里面涉及数据库锁的概念,数据比较安全
mysql DDL语句,库的操作
数据本身在磁盘上进行存储,其本质是一个文件夹(目录)
语句命令:
1>show databases ;
查看 mysql 本身自带的数据库
2>create database xx ;
创建一个 xx 库
create database if not exists xx ;
如果不存在 xx ,创建 xx 库
3>show create database xx ;
查询 xx 数据库默认的字符集
4>alter database xx default character set gbk/utf8 ;
修改数据库的字符集,默认是gbk
gbk : 一个中文对应两个字节
utf8 : 一个中文对应三个字节,支持中文简体
5>drop database xx ;
删掉 xx 库
drop database if exists xx ;
如果存在 xx 库,删除它
mysql DDL语句,表的操作
mysql 常用数据类型:
int 整数,默认长度11
varchar 字符串,最大支持255字符
datatime 日期时间
tempstamp 时间戳(获取当前时间)
double 小数类型
double(3,1) 三位数,保留一位小数 12.3
注意:创建表之前要先指定在哪个库中
use xx ;
1>create table xx (
字段名称1 字段类型1,
字段名称2 字段类型2,
......
字段名称n 字段类型n
);
创建表
2>show tables ;
查询库中所有的表
3>desc xx ;
查询 xx 表的结构
4>alter table xx change 原字段名 新字段名 字段类型 ;
修改 xx 表中的某个字段名
5>alter table xx modify 字段名 新字段类型 ;
修改 xx 表中的某个字段类型
6>alter table xx add 新字段名 新字段类型 ;
给 xx 表中添加新的字段名和类型
7>alter table xx drop 字段名 ;
删除 xx 表中某个字段名
8>alter table 新xx like 原xx ;
将原表 xx 赋值给新表 xx
9>alter table 原xx rename to 新xx ;
将原表 xx 改名为新表 xx
10>drop table xx ;
删除 xx 表
drop table if exists xx ;
如果 xx 表存在,就删除它
DML 语句
数据库的操作语句,操作表的记录
1>插入数据
①insert into xx values(值1,值2,...) ;
注: 一次插入一条,插入的值必须和当前字段顺序对应,并且符合字段类型
②insert into xx values
(值1,值2,...),
(值1,值2,...),
......
(值n1,值n2,...) ;
一次插入多条记录,每条记录用 "," 隔开
③insert into xx(字段名1,字段名2,...) values(值1,值2,...) ;
插入部分字段,未插入的默认值是null ,支持一次插入多条记录
2>修改数据
①update 表名 set 字段名 = 值 where 字段名 = xx ;
修改单个字段,在 xx 这个位置
②update 表名 set 字段名1 = 值1 , 字段名2 = 值2 , ......
where 字段名 = xx ;
修改多个字段,在 xx 这个位置
注: 如果要带多个条件修改,那么在 where 处使用 and 将条件连接起来
③update 表名 set 字段名 = 值 ;
批量修改,一般不会用
3>删除数据
①delete from xx where 字段名 = 值 ;
删除指定的记录
②delete from xx ;
truncate table xx ;
删除全表记录
注意: 两者的相同点: 都能删除全表记录
两者的不同点:
1>delete from xx ;
只是删除全表记录,表没删除,如果表中id(有自增长约束),不会影响它,意味着下次插入数据的时候,id 从之前的基础上自增
2>truncate table xx ;
删除全表记录及表,但同时会创建一个完全相同的新表,如果原表中有id(有自增长约束),那么新表中也会有,下次插入数据时,id 从1开始自增
作业:
源代码:
-- 创建一个新库 MyEE_2204 create database MyEE_2204 ; -- 创建一个员工表, id name gender birthday email remark use MyEE_2204 ; create table staff( id int, name varchar(20), gender varchar(2), birthday date, email varchar(10), remark varchar(50) ); -- 在员工表基础上增加 age -- 修改 email 列长度为 50 -- 删除 remark 列 -- 列名 name 改为 username alter table staff add age int ; alter table staff modify email varchar(50) ; alter table staff drop remark ; alter table staff change name username varchar(20) ; -- 添加三条员工记录 -- 通过 id 修改员工记录 -- 通过 id 删除某员工记录 insert into staff values (1,"张三","男","2022-4-27","zhangsan@163.com",20), (2,"李四","女","2022-4-28","lisi@163.com",21), (3,"王五","男","2022-4-29","wangwu@163.com",22), (4,"赵六","女","2022-4-30","zhaoliu@163.com",23) ; update staff set username = "ABB" , gender = "男" , email = "ABB@163.com" where id = 4 ; delete from staff where id = 4 ; select * from staff ;
运行结果如下:
1.创建新库和新表
2.修改表格数据
3. 添加员工记录
4.通过id修改员工记录
5.通过id删除员工记录