详细简介可自行百度。
1、轻量级
2、开源、免费
3、学习成本比较低,操作比较简单
下载地址:https://www.mysql.com/downloads/4、安装
这里以 mysql-5.5.40 举例子,凡是没有特意说明的地方,都是默认点击下一步:
如果出了问题,安装失败,则卸载重装。一般按上面流程设置完,环境变量会默认已经帮我们弄好。如果有问题,请自行百度解决。
5、卸载请自行百度卸载(后续心情好了就更新)
6、sql 语句 7、DDL语句 a、创建数据库语法:create database studb(数据库的库名)b、创建数据库并设置编码格式
创建数据库的同时也可以设置编码格式。按照之前的安装,默认已经是 utf8 的编码格式了:
create database 数据库的库名 character set 编码格式c、查看数据的创建的一些信息
语法: show create database 数据库的库名d、修改数据库的编码格式
语法: alter database 数据库的库名 character set 编码格式e、查看所有数据库
语法:show databases;f、删除数据库
语法:drop database 数据库的库名g、使用数据库
如果要进行表的增删改查操作,要先进入(使用)某个数据库才能进行:
语法:use 数据库的库名三、DDL 1、数据库与数据库表之间的关系
数据库中可以存在多张表,一张表只能在一个指定的数据库中。
2、mysql 常见的数据类型 a、字符类型 b、数值类型 c、时间类型 3、表的操作表的创建:
1.语法: create table 表名( 列名 数据类型(长度), 列名 数据类型(长度), 列名 数据类型(长度) ..... ); 2.注意点: A.创建表示以英文的分号结尾,每一组列名是以逗号进行分割,最后一组列名,不需要编写逗号。 B.数据类型的长度,可以不指定,但是一般建议指定其长度。 例子: create table student( sid int(11), sname varchar(20), sage int(10), sex char(2), birthday date )
表的操作(操作表前记得要先进入数据库中):
1、查看当前数据库中所有的表:show tables 2、查看表结构:desc 表名 3、修改表名:alter table 表名 rename to 新的表名 4、删除表: drop table 表名 对表中的行的操作 1、在末尾添加一行:alter table 表名 add 列名 数据类型(长度) 2、在指定的行之后添加:alter table 表名 add 列名 数据类型(长度) alter 已经存在的行名 3、修改行的数据类型:alter table 表名 modify 已经存在的行名 数据类型(长度) 注意: modify 不能修改行名 4、修改行名:alter table 表名 change 旧行名 新行名 数据类型(长度) 5、删除行名:alter table 表名 drop 行名
注意,以上操作,有的操作在添加了数据以后就不能操作了。
四、DML素材:
注意:这里并没有输入所有字段,仅输入了部分字段,需要在表明后面特定声明查找的字段。
1、字符串类型的数据,使用单引号,或者是双引号修饰都可以,时间类型必须使用单引号来进行修饰。 2、插入的数据的数据类型,必须与表定义的数据类型是一致。 3、插入数据的长度的范围必须是声明数据类型的范围之内。2、update——修改数据 3、delete——删除数据 a、第一种写法——通过 delete 删除 b、第二种写法——通过 turncate 删除 c、两者的区别
1、TRUNCATE——删除表的所有的数据,还会删除表结构,delete 只是删除数据。 2、delete——删除数据是一行一行进行删除。TRUNCATE 将整个表的数据进行删除,效率高。4、单表查询 a、查询表中所有的数据
select * from 表名b、查询表中指定的列名的数据
1.语法:select 列名1,列名2 from 表名 2.例子: #查询product表中pid和pname字段 SELECt pid,pname FROM productc、where 条件——根据条件进行查询
1、语法:select * from 表名 where 条件 2、例子: #查询product表中 id 大于5的数据 SELECt * FROM product WHERe id > 5;d、简单的运算查询
1.语法::select 运算 from 表名 2.说明:常规的运算都是可以实现 + - * / 3.例子: #查询结果是表达式(运算查询):将所有商品的价格+10元进行显示. SELECt price+10 FROM product
注意:这里虽然显示出来的数据都加了10,但是原表里面的内容并没有改动。
e、设置别名1.说明: A.可以给表或者是列设置别名,别名使用关键字 as 也可以省略。 B.一般给表设置别名的时候可以省略,但是在给列设置别名的时候不建议省略。 C.如果给表设置别名之后,表中的列可以直接通过别名来获取。 2.例子: SELECt p.pname, price+10 AS "运算后的结果" FROM product pf、去除重复的数据
1.关键字:distinct 2.语法: select distinct 列名 from 表名 3.例子: #查询所有的价格 SELECt DISTINCT price FROM productg、根据条件进行查询
这里面,同样可以运用 java 里面的符号来进行运算
非: ! 并且:&&(可以用 and 代替) in:||(可以用 or 代替)h、模糊查询
1.模糊查询关键字: like 2.匹配的两个规则的符号: _ 与 % 3.说明:_占用一个字符、%匹配任意的字符 4.语法:select * from 表名 where 列名 like '匹配的规则' 5.例子: #查询含有'霸'字的所有商品 SELECt * FROM product WHERe pname LIKE '%霸%'; #查询以'香'开头的所有商品 SELECt * FROM product WHERe pname LIKE '香%' #查询第二个字为'想'的所有商品 SELECt * FROM product WHERe pname LIKE '_想%'i、is null 和 is not null
1.说明 is null 表示是未插入数据的状态, is null 不等于""(空字符。) 2.案例: #查询没有分类的商品 SELECt * FROM product p WHERe p.category_name IS NULL #查询有分类的商品 SELECt * FROM product p WHERe p.category_name IS NOT NULLj、排序
1.关键字: order by 升序 asc、 降序 desc 2.语法: select * from 表名 order by 列名 排序规则 3.例子: #(1)使用价格排序(降序) SELECt * FROM product ORDER BY price DESC #(2)在价格排序(降序)的基础上 #若价格相同,相同价格的数据以pid降序排序 SELECt * FROM product ORDER BY price DESC,pid DESCk、分组
1.关键字 group by 分组的条件 2.例子: # 统计各个分类下商品的个数。(count 的作用后面会讲,作用是查询总记录数) SELECt category_name,COUNT(1) FROM product GROUP BY category_namel、过滤
1.关键字:having 过滤 2.例子: #统计各个分类商品的个数,有且 只显示分类名称不为空值的数据 SELECt category_name,COUNT(1) FROM product GROUP BY category_name HAVINg category_name IS NOT NULL 3. where 与 having 过滤的区别: (指的是字段的位置) having 是在分组的后面进行过滤 where 是在分组前面进行过滤m、分页查询
1.关键字:limit x 、limit x,x 2.解释 limit x: 参数表示的页量,每页显示的数据,索引就是从0开始查找 limit x,x: 参数1:表示的是数据库数据的索引,参数2: 表示的页量(建议使用这种方式) 3.案例: 使用分页查询出第一条与第二条数据 SELECt * FROM product LIMIT 0,2 第一页(表示的是从第 1 条数据开始,每一页2条数据) 使用分页查询除第三条与第四条数据 SELECt * FROM product LIMIT 2,2 第二页(表示的是从第 3 条数据开始,每一页2条数据) 规律:(当前页-1)*页量5、查询语句的顺序
1、顺序语法: select * from 表名 where 条件 + group by 分组 + having 过滤 + 排序 order by + 分页 limit 2、举例子: SELECt category_name,COUNT(1) AS cou FROM product WHERe category_name LIKE '%品%' GROUP BY category_name HAVINg category_name IS NOT NULL ORDER BY cou ASC LIMIT 0,16、MySQL常用的函数 a、聚合函数
例子:
主键约束概念:
这个策略一般跟主键搭配使用(一般是用在 id 这块),当创建数据的时候,这个策略会默认帮你加1
注意:
1、自增长策略针对与是整数类型
2、自增长的波长都是1
3、自增长策略一般是与主键进行搭配的使用
概念与注意:
验证非空约束,可以赋值 null 测试。
不插入数据时,插入你默认设置的数据。插入数据时,按照你插入的数据为准。
给字段设置 foreign key 就是设置外键约束,通常情况外键一般设置的是其他表的主键。
关于外键约束以及详细用法参考下一篇章。



