时下流行的数据库:Oracle、SQL Server、MySQL
一、表
1、概念
(1)表中的数据行,也称作记录,或实体。一行称为一条记录,一条记录对应一个java对象
的数据
(2)表中的数据列,也称作字段,或属性
2、创建表
CREATE TABLE table_name
(
field1 datatype,
field2 datatype,
field3 datatype
);
注意:(1)field指定列名
(2)datatype指定列类型
(3)最后一个列名的语句不加逗号
(4)创建表之前,要使用use db语句使用库
二、数据库
1、概念
(1)数据库就是"数据"的"仓库"
(2)数据库由表、关系以及操作对象组成
(3)数据存放在表中
2、(1)创建数据库语法:CREATE DATABASE [IF NOT EXISTS] db_name
(2)显示当前数据库服务器中的所有数据库:SHOW
DATABASES
(3)数据库删除语句:DROP DATABASE [IF
EXISTS] db_name
三、MySQL常用数据类型
1、数值类型
BIT(M)
INT
BIGINT
FLOAT[(M,D)]
2、文本、二进制类型
CHAR(n) :必须是n个字符,不足的空格补足
VARCHAR(n) :
可变长度的,最长为n,最大值是8000
TEXT :大文本类型,可变长度的,容量2.14G
3、时间日期
DATE
DATETIME
TimeStamp
四、数据库的CRUD语句
1、Insert语句:增加数据
语法:INSERT INTO
table[(column[,column...])] VALUES (value[,value...]);
注意:(1)插入的数据应与字段的数据类型相同
(2)数据的大小应在列的规定范围内
(3)给整数列添加的值如果不是整数,则添加整数的默认值是0
(4)values中的数据位置必须与被加入的列的排列位置相对应
(5)字符和日期型的数据应包含在单引号当中
(6)插入空值时,不指定列名或insert into table(name) value
(null)
2、Update语句:更新数据
语法:UPDATE tb SET
username=zhang[WHERE where_definition]
注意:(1)UPDATE语法可以用新值更新原有表中的各列
(2)SET子句指示要修改哪些列和要给与哪些值
(3)WHERE子句指定应更新哪些行,如果没有WHERE子句指定,则更新所有的行
3、Delete语句:删除数据
语法:DELETE from tb [WHERE
where_definition]
注意:(1)如果不使用where子句,将删除表中所有数据
(2)Delete语句不能删除某一列的值(可用update)
(3)使用delete语句仅删除记录,不删除表本身,如要删除表,使用drop table语句
(4)插入、删除、修改都会引起参照完整性问题
(5)使用TRUNCATE TABLE语句删除表中数据时,自增长复位,删除所有记录只记录一
次日志,而DELETE FROM删除一条记录,记录一个日志
4、Select语句:查找数据
语法:SELECT *
{colunm1,column2...}FROM table WHERE username='haha';
注意:(1)select指定查询哪些列的数据
(2)column指定列名
(3)*号代表查询所有列
(4)from指定查询哪些表
WHERE子句中经常使用的运算符:
(1)比较运算符
<1> >
< >=
<=
= !
<2> BETWEEN...AND... 例如:SELECT * FROM
student WHERE score BETWEEN 60 AND
100
<3> IN(set) 例如:DELETE
FROM student WHERE id IN(1,2,3)和
DELETE FROM student WHERE id=1 OR id=2 OR id=3作用一样的
<4> LIKE 例如:SELECT * FROM userinfo WHERE
username LIKE '_a%';
通配符%代表任意个任意字符 _代表任意一个字符
模糊查询的转义字符:SELECT * FROM userinfo WHERE username LIKE
'0\%%'
ESCAPE '\';
表示含 30% 的
<5> NULL 没有数据
<6>"" 空字符串
(2)逻辑运算符
<1>and 多个条件同时成立
<2>or 多个条件任一成立
<3>not 不成立,例如:where not(salary>100);
5、order by子句排序查询结果
语法:SELECT
column1,column2..
FROM table;
order by column asc|desc
注意:(1)order
by指定排序的列,排序的列即是表中的列名,也可以是select语句后指定
的列名
(2)asc升序、desc降序
(3)order by子句应位于select语句的结尾
五、函数
1、聚合函数count
count(列名):返回某一列、行的总数
select count(*)|count(列名)from
tablename[WHERE where_definition]
例如:SELECT COUNT(*) FROM
products WHERE price=2
2、合计函数sum
sum函数返回满足where条件的行的和
例如:SELECT SUM(price) FROM
tablename
3、合计函数AVG
AVG函数返回满足where条件的一列的平均值
例如:SELECT AVG(price) FROM
products
4、合计函数MAX/MIN
MAX/MIN函数返回满足where条件的一列的最大/最小值
select max(列名)from
tablename[WHERE where_definition]
例如:SELECT MAX(price) FROM
products
5、限制行数查询limit
查询employee表中的前两条数据,limit第一个参数表示从第几条开始查询,第一条记录的
下标是0,第二个参数是查询多少条
如下代码实现查询前5条数据
:
SELECT * FROM
infos LIMIT 0,5
6、group和having
(1)Group是把表中的某一列中,相同的值分成一组,这一列有几种值,就分成几组
(2)Having是对group分组后的每一组进行筛选
例如:查询1班,2班,3班中平均分及格的班级,并按照平均分从高到低排序
SELECT classid,AVG(score)
FROM student Where classid IN(1,2,3)
GROUP BY classid HAVING AVG(score) >=60 ORDER BY
AVG(score)DESC
7、AS
SELECT SUM(price) AS
总价钱,AVG(price) AS 平均价格,MAX(price) AS
最高价,MIN
(price) AS 最低价 FROM products
AS后更改的名字保存在结果集ResultSet当中,结果集在内存中,并没有在数据库中
hold不住SQLyog,以后慢慢熟悉吧,还是得勤学苦练。