mysql 学习
2016-01-11 18:35
489 查看
创建数据库、
create database <数据库名字>;
连接数据库
use <数据库名字>;
创建表、
create table 表名
(
字段名 类型(长度),
);
数据类型
int 4, float 4, double 4,enum ,set 多选,date,time,year,char ,varchar,text
约束分类
约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性,唯一性。
约束类型:主键,默认值,唯一,外键,非空
关键字:PRIMARY KEY, DEFAULT ,UNIQUE ,FOREIGNKEY, NOT NULL
1.主键,是用来约束表中的一行,作为这一行的表示符,在一张表中通过主键就能准确定位到一行,主键不能重复不能为空。
create table 表名
(
字段名 类型(长度)PRIMARY KEY,
);
2.默认值约束,当有DEFAULT约束的列,插入数据为空,使用默认值
3.唯一约束(UNIQUE),它规定一张表中指定的一列的值必须不能有重复,即这一列每个值都是唯一的。
4.外键约束(FOREIGN KEY)既能确保数据完整性,也能表现表之间的关系。
一个表可以有多个外键,每个外键必须REFERENCES(参考)另一个表的主键,被外键约束的列,
取值必须在它参考的列中有对应值。
5.非空约束
在插入值时必须非空
基本的SELECT语句
SELECT
要查询的列名 FROM
表名字 WHERE
限制条件;
WHERE限制条件可以有数学符号 (=,<,>,>=,<=)
,
WHERE后面可以有不止一条限制,而根据条件之间的逻辑关系,可以用OR(或)和AND(且)连接:
IN和NOT IN
关键词IN和NOT
IN的作用和它们的名字一样明显,用于筛选“在”或“不在”某个范围内的结果,
SELECT * FROM employee WHERE a IN(12);
通配符
关键字 LIKE 在SQL语句中和通配符一起使用,通配符代表未知字符。SQL中的通配符是
_ 和 % 。
其中 _ 代表一个未指定字符,% 代表不定个未指定字符。
SELECT
name,age,phone FROM
employee WHERE
phone LIKE
'1101__';
对结果排序
为了使查询结果看起来更顺眼,我们可能需要对结果按某一列来排序,这就要用到 ORDER
BY 排序关键词。默认情况下,
ORDER
BY的结果是升序排列,而使用关键词ASC和DESC可指定升序或降序排序。
SELECT
name,age,salary,phone FROM
employee ORDER
BY
salary DESC;
SELECT
*FROM employee ORDER BY a ASC;
SQL内置函数和计算
函数:COUNT
SUM AVG MAX MIN
作用:计数,求和,
求平均值, 最大值, 最小值
有一个细节你或许注意到了,使用AS关键词可以给值重命名,比如最大值被命名为了max_salary:
子查询
上面讨论的SELECT语句都仅涉及一个表中的数据,然而有时必须处理多个表才能获得所需的信息。
SELECT
of_dpt,COUNT(proj_name)
AS
count_project FROM
projectWHERE
of_dpt
IN(SELECT
in_dpt FROM
employee WHERE
name='Tom');
连接查询
在处理多个表时,子查询只有在结果来自一个表时才有用。但如果需要显示两个表或多个表中的数据,这时就必须使用连接(join)操作。
SELECT
id,name,people_numFROM
employee JOIN
departmentON
employee.in_dpt = department.dpt_nameORDER
BY
id;
create database <数据库名字>;
连接数据库
use <数据库名字>;
创建表、
create table 表名
(
字段名 类型(长度),
);
数据类型
int 4, float 4, double 4,enum ,set 多选,date,time,year,char ,varchar,text
约束分类
约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性,唯一性。
约束类型:主键,默认值,唯一,外键,非空
关键字:PRIMARY KEY, DEFAULT ,UNIQUE ,FOREIGNKEY, NOT NULL
1.主键,是用来约束表中的一行,作为这一行的表示符,在一张表中通过主键就能准确定位到一行,主键不能重复不能为空。
create table 表名
(
字段名 类型(长度)PRIMARY KEY,
);
2.默认值约束,当有DEFAULT约束的列,插入数据为空,使用默认值
3.唯一约束(UNIQUE),它规定一张表中指定的一列的值必须不能有重复,即这一列每个值都是唯一的。
4.外键约束(FOREIGN KEY)既能确保数据完整性,也能表现表之间的关系。
一个表可以有多个外键,每个外键必须REFERENCES(参考)另一个表的主键,被外键约束的列,
取值必须在它参考的列中有对应值。
5.非空约束
在插入值时必须非空
基本的SELECT语句
SELECT
要查询的列名 FROM
表名字 WHERE
限制条件;
WHERE限制条件可以有数学符号 (=,<,>,>=,<=)
,
WHERE后面可以有不止一条限制,而根据条件之间的逻辑关系,可以用OR(或)和AND(且)连接:
IN和NOT IN
关键词IN和NOT
IN的作用和它们的名字一样明显,用于筛选“在”或“不在”某个范围内的结果,
SELECT * FROM employee WHERE a IN(12);
通配符
关键字 LIKE 在SQL语句中和通配符一起使用,通配符代表未知字符。SQL中的通配符是
_ 和 % 。
其中 _ 代表一个未指定字符,% 代表不定个未指定字符。
SELECT
name,age,phone FROM
employee WHERE
phone LIKE
'1101__';
对结果排序
为了使查询结果看起来更顺眼,我们可能需要对结果按某一列来排序,这就要用到 ORDER
BY 排序关键词。默认情况下,
ORDER
BY的结果是升序排列,而使用关键词ASC和DESC可指定升序或降序排序。
SELECT
name,age,salary,phone FROM
employee ORDER
BY
salary DESC;
SELECT
*FROM employee ORDER BY a ASC;
SQL内置函数和计算
函数:COUNT
SUM AVG MAX MIN
作用:计数,求和,
求平均值, 最大值, 最小值
有一个细节你或许注意到了,使用AS关键词可以给值重命名,比如最大值被命名为了max_salary:
子查询
上面讨论的SELECT语句都仅涉及一个表中的数据,然而有时必须处理多个表才能获得所需的信息。
SELECT
of_dpt,COUNT(proj_name)
AS
count_project FROM
projectWHERE
of_dpt
IN(SELECT
in_dpt FROM
employee WHERE
name='Tom');
连接查询
在处理多个表时,子查询只有在结果来自一个表时才有用。但如果需要显示两个表或多个表中的数据,这时就必须使用连接(join)操作。
SELECT
id,name,people_numFROM
employee JOIN
departmentON
employee.in_dpt = department.dpt_nameORDER
BY
id;
相关文章推荐
- mysql 合并两个查询结果
- MySQL查看表占用空间大小
- MySQL的几个概念:主键,外键,索引,唯一索引
- 第01章 mySQL用户和权限管理v1
- MySQL错误代码大全
- mysqldump备份不输入密码直接备份
- mysql中使用instr替换like
- mysql修改表、列编码
- Mysql数据库使用规范
- mysql中的if与case-when
- mysql 权限与安全
- 通过explain对mysql索引优化
- mysql中ifnull用法
- mysql中的结果拼接
- Mysql代理中间件 Atlas 安装和配置
- mysql知识和sql语句分享
- mysql权限丢失
- MySQL数据库的优化(二)
- MySQL数据库的优化(一)
- MySQL 文本文件的导入导出数据的方法