MySQL基础

SQl:
Database学习:数据库。
1、数据库也是一个软件。
2、常用数据库:
mysql、oracle、sqlserver、DB2
3、常用客服端:
navicat、sqldeveloper
4、musql的命令:
1、show databases 显示数据库
2、user databasename  使用某个数据库
3、show tables  显示表

5、SQL(Structured Query Language)结构化查询语言:

----------------------------------------------------------------------------------------------------------------------------------------------------------

1、创建 create 对象(表table)(库Database) 对象名 
创建表:(字段名 字段数据类型(长度) 可以设置主键或者其他键值)字段与字段之间用“,”隔开,最后一个字段不用个任何符号结尾
例:
create table school
(
id int(10) PRIMARY KEY(主键),
name VARCHAR(20)

)

drop table school

----------------------------------------------------------------------------------------------------------------------------------------------------------
2、删除
drop 对象 (表table)(库Database)对象名
insert增加 delete 删 update改 select 查
1、insert增加一条数据:
INSERT INTO 表名(可以给字段,不给默认为全部字段) VALUES (对应字段的值,用“,”隔开);
例:
INSERT INTO school VALUES (null(这里为自增),'hahah');(在表中增加一条name值为hahah的数据)
2、select查询数据:
SELECT 字段名(给“*”表示查询全部)(可以查询的字段设置别名) from 表名 where 查询条件
例:
SELECT (name)schoolname  from school where id=2;(查询表中id=2中的name的值)
3、update更改:
UPDATE 表名 set 更新的值(如果更新值是多个则用“,”隔开) where 更新的条件
例:
UPDATE school set name='kkk' where id=2;(更新表中id=2中的name的值为kkk)
4、delete 删除:
DELETE from school(如果没有删除条件则为删除表中所有数据) where 删除条件; 
例:
DELETE from school where id=1; (删除表id=1的一条数据)
DELETE from school ; (删除表中所有数据)
5、连接查询 :
(1)、99写法:inner  join...on...:
select 给要查询的字段名(表名.本表中的字段名) from 要查询的表inner   join 要查询的另一个表 on 两个表的关系 如(user.userid=school.id) where 查询的条件
例:
select user.username,school.name from user inner   join school on user.userid=school.id where user.userid=17;
左链接:左边表有右边表没有的数据;join前表为左后为右
右链接:右边表有左边表没有的数据;join前表为左后为右

(2)、92写法:
例:
SELECT e.*,d.* FROM emp e,dept d WHERE e.deptno = d.deptno;
6、分组查询:
select 给定函数(分组字段名) 平均值 from 表名 GROUP BY 需要分组的字段名
例:

select COUNT(userid) 平均值 from user GROUP BY userid

建立虚拟表连接实体表查询:
例:
SELECT xin.*,d.dname FROM (SELECT deptno,COUNT(sal) FROM emp GROUP BY deptno) xin INNER JOIN dept d ON xin.deptno=d.deptno

7、子查询:
8、distinct关键字:
SELECT (查询的字段) FROM 表名 WHERE sal>(SELECT 函数 FROM 表名)。
例:
SELECT*FROM emp WHERE sal>(SELECT AVG(sal) FROM emp)
用distinct关键字用来消除结果集中重复的信息,只显示一条数据,当distinct用来修饰多个字段,这几个字段必须全部相同才能消除,消除后面所有字段的组合,只保留一条数据。
例:
select distinct sex 性别,flag 状态 from user
9、where条件:
=,!=(不等于),<>(不等于),<,>,<=,>=,any(任何一个),some(任何一个),all(所有),is null(为空),is not null(不为空)
模糊查询:
like ,not like %:表示0个或者多个字符,_:表示一个字符
例:
SELECT*FROM user WHERE username LIKE '%浩%'(查询在username中包含“浩”的数据)
逻辑复合条件关键字:where后面多个条件之间的连接
not(相反),and(并且),or(或者)
10、函数:
可以用在select后面,也可以用在where后面。
lower(字段):把字段换成小写。
upper(字段):把字段换成大写。
concat(字段1,字段2.。。。。连接两个字段,每次只能连接两个),可以连接很多个。
length(字段):字段的长度。
substr(字段或者字符串,start,length):把字段转换成大写,(start从1开始)从start开始截取的长度为length。
char(ASCII值):把ASCII值换成对应字符。
ascii(字段):把字符转成ASCII值。
round(字段,n):n为四舍五入到小数点后几位,可以用负数指定小数点前面几位。
分组函数:
avg(字段):该字段平均数。
max(字段):该字段最大值。
min(字段):该字段最小值。
sum(字段):该字段的和。
count(字段):该字段的个数。
排序函数:
order by 先查后排序,
asc(升序),desc(降序) 之作用前面一个字段
默认为升序;
例:
select*FROM emp order by sal ASC;(只对一个字段作用)

select*FROM emp order by sal ASC,depton asc;(对两个字段作用,完成对第一个的作用的前提下才对第二个作用)

11、分页:
mysql:limit
第一个参数:查询开始的位置(计数从0开始),第二个参数:查询的条数。
例:
SELECT*FROM emp ORDER BY sal desc  LIMIT 0,2 
sqlserver:top
oracle:rownum



12、sql注释:
/*
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值