前提 必须进入到你的mysql安装目录的bin目录下
一般常用命令为
D: 进入哪一个磁盘命令
cd +文件名称 要打开哪一个文件夹
dir 显示当前文件夹/目录下的所有文件
----CMD-对数据库的操作和表结构的操作----
《》
mysql -uroot p +密码
一.创建数据库+(设置字符集)
create database +名称(character set +字符集);
二.查看数据库编码
show create database +数据库名称;
三.删除数据库
drop database +名称;
四.查看当前正在操作的数据库
select database();
五.对数据库表的操作
1.create table +表名( 字段名 类型(长裤)[约束]{自增标识 auto_increment} );
3.查看数据库表的结构
Desc +表名
4.为表添加一列
alter table +表名 add column 字段名 类型(长度)[约束]
5.修改列的类型长度,约束
alter table +表名 modify 字段名 类型(长度)[约束]
6.修改列名
alter table +表名 change 旧列名 新列名 类型(长度)[约束]
7.修改表名
rename table +表名 to +新表名
8.修改表的字符集
alter table +表名 character set +字符集
9.删除一列
alter table +表名 drop column 列名
----CMD-对数据库的表记录进行操作----
一.插入记录
1.insert into +表名(列名1,2,3) values (值1,2,3);
2.insert into +表名 values(值)
3.若插入数据为乱码(直接修改mysql安装目录的my.ini文件中的字符集)
4.乱码解决 set names gbk;
二.修改记录
1.update 表名(列名1.2.3) set 字段名=值1,字段名=值2;
三.删除记录
delete from 表名 where 条件
-----面试题----
delete与truncate的区别
delete是一条一条的删除数据,它配合事务,可以将数据找回。
truncate是将整个表摧毁,然后再创建一个一模一样的表,
它删除的数据无法找回。
---------------简单查询操作-----------------
1.去掉重复值
distinct(关键字)
2.模糊查询 含有--
like '%数据%'(关键字)
3.聚合函数不统计null值
------------junit测试-------------
1.@test before after
-----------JDBC步骤--------------
1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
2.获得连接
//务必跟上编码格式 数据库后 characterEncoding=utf8
url=jdbc:mysql://localhost:3306/数据库名称(use){?useSSL=false}
DriverManager.getConnection(url,用户名,密码);
3.释放资源
关闭顺序为先得到的后关闭,后得到的先关闭。
rs.close();
stmt.close();
conn.close();
-----------分页查询------------
limit
查询第几页就 减去一再乘以每页查询的长度
---------数据类型----------
decimal:泛型型;blob:字节类型;timestamp:自动生成时间戳
------------约束中外键介绍----------
外键添加语法:
{外键的前提是:从表的外键与主表的主键值必须一致}
alter table 从表 add constraint [外键名称] foreign key (从表外键字段名)
references 主表(主表的主键)
--
*一对多建表原则:再多的一方创建一个字段,
字段作为外键指向一的一方的主键
--
外键删除语法:
{字段名不等于外键名}
drop table 表名 drop foreign key 外键名
*多对多建表原则:需要创建第三张表,中间表中至少两个字段,
这两个字段分别作为外键指向各自一方的主键
外键特点:
1.从表(含外键的表)外键的值是对主表主键的引用
2.从表外键类型,必须与主表类型一致
外键作用:数据的完整性
内连接
select * from A inner join B on 主外键关系相等
左连接
select * from A left join B on 主外键关系相等
右连接--同上