1.MySQL基本介绍
在javaEE开发中经常要用到数据库,常见的数据库有MySQL,Oracle,SqlServer等,其中MySQL有以下优点:
a.MySQL是一个关系数据库管理系统。b.MySQL是开源的。
c.MySQL服务器是一个快速的、可靠的和易于使用的数据库服务器。
d.MySQL服务器工作在客户/服务器或嵌入系统中。
e.有大量的MySQL软件可以使用。
所以有很多的中小型项目都会使用MySQL数据库,那么掌握它的基本使用对开发来说是至关重要的(当然很多框架都会封装sql语句, 但是个人觉得这应该算是一个常识,所以此篇文章就简略介绍一下)
2.大多数数据库的主要操作就是:数据与容器的四种操作
增-删-改-查3.MySQL 数据库的操作只有四种
MySQL 数据库操作难度有三种(database,table 结构,table数据)database
增删改查
table 结构
增删改查
table 数据
增删改查
进行数据库操作时,使用的是SQL语句,SQL语句要调用算法部分封装的程序,然后操作文件系统部分
SQL语句需要记忆,使用格式固定
4.database的增删改查
增:create database 库名;删:drop database 库名;
改:改名操作不用,因为容易导致数据丢失
查: show databases;
5.表结构的增删改查
前提:使用一个库use 库名;-----相当于进入库所在的文件夹
表-----是以一个文件的形式存储在MySQL的文件系统中的
表结构增:
create table 表名(字段名 数据类型(长度),......);//新建一个文件表结构删:
drop table 表名;//删除文件表结构查:
show tables;//列出当前库下所有的表desc 表名;//查看当前的描述,显示字段以及字段相关信息
show create table 表名;//查看建表语句,包含一些表信息,比如编码集
mysql> show create table demo01;
select database();//查看当前表所属的库;
表结构改(了解):
A.表名rename table 表名 to新表名;
B.字段增
alter table 表名 add 新字段名 数据类型;
C.字段删
alter table 表名 drop 字段名;
D.字段改1---只改数据类型
alter table 表名 modify 字段名 新类型;
E.字段改2---改字段名以及数据类型
alter table 表名 change 字段名 新名 新类型;
6.表数据操作(非常重点)
A.向表中插入数据
插入语法1:insert into 表名 values(字段1,......);//字段值必须和表中声明的字段对应
insert into 表名 values(字段1,.....),(字段2.....),(字段3......).....;//一次插入多条记录
插入语法2:
insert into 表名 (指定字符) values(字段对应的值);//为表中指定的字段插入值,没指定的不插入
注意:
a.插入的数据必须和字符声明的数据类型严格一致;
b.插入的数据的长度必须 <=字段声明的长度
c.如果指定了列,那么没有指定的列,默认值是null,也可以直接在某列插入null值
d.数值类型其余的数据,必须使用""或''引起来,建议使用'';
B.表数据的删除
delete from 表名 where 条件;//可以使用=判断条件注意:
1.delete from 表名;//清空表记录;
2.truncate 表名;//清空表记录;
二者区别(自增长ID时,会涉及):
delete 方式,逐条逐条删除,truncate 直接删除表文件,然后在创建新表
C.表数据的改
update 表名 set 字段=新值 where 条件;7.表数据查(种类太多,比较重要,单列出来)
准备数据:需求,创建一个手机商品表,手机的品牌,型号,价格,描述
总结:
语法1:select *from 表名;//直接查询所有
语法2:select *from 表名 where 条件;//条件查询
比较运算符:= > < >= != <>(注意)
betwean and 类似于>= and<=
in(值1,值2)类似于 = or =(in效率高)
like//模糊查询
后面公式 :%---0个或多个字符
_代表一个字符
null (特殊值)
判断是不是null ---is null
is not null 类似于not xxx is null
逻辑运算符 :and or not -----类似于Java中 & | !
语法3: select * from 表名;----所有
select 字段1,字段2....----from 表名 ----指定字段
select 字段1 as xxx from 表名;----取别名,as 可以忽略
mysql> set names gbk;
select distinct xxx from 表名;----去除重复值
8.乱码问题解决:
方案1: set names gbk;//临时的方案2:直接更改配置文件,但是不建议