2024-02-29 11:04:48
第一天
** DDL**
查询所有数据库
1
show databases
查看字符编码
1
show variables like "%char%"
使用数据库
1
use 数据库名称
查询当前数据库
1
select database()
创建
1
create database [if not exist] 数据库名称 [default charset 字符集] [collate 排序规则]
删除
1
dpop database [if exists] 数据库名
查询当前数据库所有表结构
1
show tables
查询表结构
1
desc 表名
查询表的数据
1
select * from 表名
查询指定表的建表语句
1 | show create table 表名 |
- DDL 表创建
1
2
3
4
5
6create table tb_name(
-> id int comment 'binahao',
-> name varchar(50) comment 'mingzi',
-> age int comment 'nianling',
-> gender varchar(1) comment 'xingbie'
-> ) comment 'yonghubiao';
第二天
DDL
- 添加字段
1
alter table 表名 add 类型(长度)[comment 注释] [约束]
- 修改数据类型
1
alter table 表名 mudify 字段名字 新的数据类型(长度)
- 修改字段名和字段类型
1
alter table 表名 change 旧字段名称 新字段名称 类型(长度) [comment 注释] [约束]
- 删除字段
1
alter table 表名 drop 字段名
- 修改表名
1
alter table 表名 rename to 新表明
- 删除表
1
drop table [if exists] 表名
- 删除表并且重新创建表
1
truncate table 表名
第三天
DML - 添加数据
1
2
3
- insert into 表名 (字段1) values('字段1')
- insert into 表名 values('值1' ,'值 2')
- 修改数据
1
2- update 表名 set 字段名1=值1,..... where 字段名1 = ?;
-
- 删除数据
1
delete from 表名 where 条件1 and 条件2
DQL
- 语法
- select 字段列表
- from 表名列表
- where 条件列表
- group by 分组字段列表
- having 分组后条件列表
- order 排序字段列表
- limit 分页参数
- 使用例子
- select 字段1,字段2,….. form 表名
- 强化(select 字段1[as 别名1],字段2[as 别名2] from 表名…..)
- select * from 表名 //通配符
- 去除重复记录
- select distinct 字段列表 form 表名
MAY_BE 高级语法
动态sql语句
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21//定义哪个类使用这个动态sql
<mapper namespace="com.example.mapper.UserMapper">
//select id是类中使用这个动态sql的函数名
<select id="findUser"
//resultType 这个是定义函数总所用到的类(user类啊等等)就是我需要调用哪个用户类中的变量传到数据库中
resultType="com.example.User">
SELECT * FROM users
<where>
<if test="id != null">
id = #{id}
</if>
<if test="name != null and name.trim() != ''">
AND name = #{name}
</if>
<if test="email != null and email.trim() != ''">
AND email = #{email}
</if>
</where>
</select>
</mapper>保存.sql 文件
mysqldump -u root -p zhiranbangbang > output_file.sql
用代码连接数据库
1 | package sql;/* |