MySql零基础

MySQL

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

数据库(Database):

数据库也是一种软件。

可以动态的对数据库润健创建的数据库,进行修改查询。

常用的数据库:

mysql,oracle,sqlserver,DB2数据库(IBM)

数据库的安装:

mysql一步一步安装即可。

Oracle1安装注意,安装出错就要重装系统。

一般的数据库软件都有对饮搞得客户端,通过客户端连接数据库

安装完成后在服务里面启动服务:


SQL语言:

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

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

MySQL语言分类:

SQL DML 和 DDL:


可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)

SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

查询和更新指令构成了 SQL 的 DML 部分:

  • SELECT - 从数据库表中获取数据
  • UPDATE - 更新数据库表中的数据
  • DELETE - 从数据库表中删除数据
  • INSERT INTO - 向数据库表中插入数据

SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL 中最重要的 DDL 语句:

  • CREATE DATABASE - 创建新数据库
  • ALTER DATABASE - 修改数据库
  • CREATE TABLE - 创建新表
  • ALTER TABLE - 变更(改变)数据库表
  • DROP TABLE - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引

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

SQL SELECT 语法:

SELECT 列名称 FROM 表名称

我们建立了一个user用户表,并且在各个字段插入value。

查询结果为:

我们也可以对某个满足条件的字段查询:

查询结果:

SQL SELECT DISTINCT 语句

在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

关键词 DISTINCT 用于返回唯一不同的值。

语法:

SELECT DISTINCT 列名称 FROM 表名称


查询结果为:



WHERE 子句用于规定选择的标准。

WHERE 子句

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

语法

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

下面的运算符可在 WHERE 子句中使用:

操作符描述
=等于
<>不等于
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种模式

注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。

AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。

AND 和 OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。



查询结果为:



Update 语句

Update 语句用于修改表中的数据。

语法:

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值


查询结果:



DELETE 语句

DELETE 语句用于删除表中的行。

语法

DELETE FROM 表名称 WHERE 列名称 = 值


查询结果:



LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。


一般LIKE和通配符使用:

SQL 通配符

在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

SQL 通配符必须与 LIKE 运算符一起使用。

在 SQL 中,可使用以下通配符:

通配符描述
%替代一个或多个字符
_仅替代一个字符
[charlist]字符列中的任何单一字符

[^charlist]

或者

[!charlist]

不在字符列中的任何单一字符



查询结果:



SQL别名:

语法:select coll(as) 别名,coll(as)别名 from 表名 where 条件



查询结果:


ORDER BY 语句用于对结果集进行排序。

ORDER BY 语句

ORDER BY 语句用于根据指定的列对结果集进行排序。

ORDER BY 语句默认按照升序对记录进行排序。

如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。


这里我们用另外一个table tablename is  emp.



我们将对sal字段进行排序:


查询结果如下:


现在我们看看分别对两个字段进行排序,看看又会是怎么样呢?


查询结果:


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

INSERT INTO 语句

INSERT INTO 语句用于向表格中插入新的行。

语法

INSERT INTO 表名称 VALUES (值1, 值2,....)

我们也可以指定所要插入数据的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

  •  example:详细见例子1
  • ------------------------------------------------------------------------------------------------------------------------------------------------------------


SQL 拥有很多可用于计数和计算的内建函数。

函数的语法

内建 SQL 函数的语法是:

SELECT function(列) FROM 表

函数的类型

在 SQL 中,基本的函数类型和种类有若干种。函数的基本类型是:

  • Aggregate 函数
  • Scalar 函数



函数描述
AVG(column)返回某列的平均值
COUNT(column)返回某列的行数(不包括 NULL 值)
COUNT(*)返回被选行数
LOWER(column)返回在指定的域中的字母换成小写
UPPER(column)返回在指定的域中的字母换成大写
MAX(column)返回某列的最高值
MIN(column)返回某列的最低值
LENGHT(str)返回某个字符的长度
SUBSTR(str , pos ,len)切取字符
SUM(column)返回某列的总和

代码笔记:


/*ORDER BY
ASC 升序
DESC 降序
*/
SELECT * FROM emp ORDER BY  sal ASC;/*以empno排序*/
SELECT * FROM emp ORDER BY sal DESC,deptno DESC;/*ORDER BY 排序只能作用于第一个排序的字段**/
/*常用函数*
*LOWER(str):转小写
*UPPER(str):装换成大写
*CONCAT(str1,str2,...):把字段连接起来
*LENGTH(str):字符串的长度
*SUBSTR(str,pos,len):切取字符
*ROUND(X,D):指定四舍五入到小数点后几位,可以用负数指定前几位
*TO_NUMBER(num):把数字字符串转换成数字
*TO_CHAR(str,格式):按指定格式格式化字符串
*/
SELECT  LOWER(dname) FROM dept WHERE deptno=30;
SELECT  UPPER(dname) FROM dept WHERE deptno=30;
set @num='sssss';
SELECT LENGTH(@num);
SELECT SUBSTR(@num,1,5);
SELECT dname,SUBSTR(dname,1,1) FROM dept;
SELECT empno ,TO_DAYS(??) FROM emp;
/**分组函数
*AVG(str):计算平均值
*MAX(expr):最大值
*/
SELECT*FROM emp;
SELECT AVG(sal) FROM emp;
SELECT AVG(sal) FROM emp WHERE sal>(SELECT AVG(sal) FROM emp);

SELECT COUNT(*) FROM emp;
SELECT MAX(sal) FROM emp;
SELECT MIN(sal) FROM emp;
SELECT SUM(sal) FROM emp;


/*********插入数据**********/
INSERT INTO user VALUES(1,'秦博',0,321654,1);
INSERT INTO user VALUES(2,'杜良思',0,321654,1);
INSERT INTO user VALUES(3,'熊东超',0,321654,2);
INSERT INTO user VALUES(4,'陈燧',0,321654,3);
INSERT INTO user VALUES(5,'范明珠',1,321654,4);
INSERT INTO user(userId,userName,userSex,password,flag) VALUES(6,'唐家伟',0,454545,5);
INSERT INTO user(userId,userName,userSex,password,flag) VALUES(7,'苟朋',0,545454,6);
INSERT INTO user(userId,userName,userSex,password,flag) VALUES(8,'苟朋',0,545454,6);
INSERT INTO user(userId,userName,userSex,password,flag) VALUES(8,'苟朋',0,545454,6);
SELECT * FROM user;
UPDATE user SET userSex=1 WHERE userName='范明珠';
/*查找表中女孩子1位女0男*/
SELECT userName FROM user WHERE userSex=1;
/**给查询出来的字段去别名**/

/*语法:select coll(as) 别名,coll(as)别名 from 表名 where 条件*/
SELECT userName as '小仙女' FROM `user` WHERE userName='范明珠';
SELECT userName as '帅哥',password as '密码' FROM user WHERE userId=1;

/*在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
	DISTINCT所有字段一样的只显示一条记录
*/
 SELECT DISTINCT * FROM user; 
/**实例(查询table中所有的不同密码)*/
SELECT DISTINCT password FROM `user`;
/*如果多个字段的话,表示当这个结果字段一样的话保留一条*/
/*语法:select coll(as) 别名,coll(as)别名 from 表名 where 条件*/
SELECT DISTINCT userName as 'USER',password as 'USER1' FROM user;


/**WHERE条件(=,!=,<>,<,><=,>=,ANY(任意一个),SOME(任何一个),ALL(所有))
BETWEEN(在某个范围内),
LIKE(	搜索某种模式模糊查询)*/
 
/**IS NULL  和 IS NOT NULL 都是查询状态*/

SELECT  userId FROM `user` WHERE userName IS  NULL;
SELECT * FROM user;

/*LIKE*/
/*
*  %(任意个任意字符)
*	 _(代表任何一个字符)	
*/
SELECT password FROM `user` WHERE `password` LIKE '%5%';

/*NOT ,AND ,OR
	AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
	如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
	如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
*/
SELECT userName FROM `user` WHERE userId>5 AND userId<=7;

SELECT * FROM `user` WHERE userId>5 OR userName LIKE '秦博';

DELETE FROM `user` WHERE userId>3;/*删除ID>3的每条信息*/










  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值