![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
逆袭的青年
这个作者很懒,什么都没留下…
展开
-
43、MySQL-删除视图
删除视图格式: DROP VIEW [IF EXISTS] 视图名 可以先判断视图是否存在mysql> DROP VIEW IF EXISTS v1;Query OK, 0 rows affected (0.01 sec)mysql> SHOW CREATE VIEW v1;ERROR 1146 (42S02): Table 'learndb1.v1'原创 2015-03-10 16:42:17 · 1121 阅读 · 0 评论 -
31、MySQL-数值函数
MySQL常用数值函数 ceil(N) 或ceiling(N)返回不小于N的最小整数值 floor(N) 返回不大于N的最大整数值 mod(N,M) 取模运算,返回N被M除的余数(同%操作符) pow(X,Y)或power(X,Y) 返回值X的Y次幂 round(N, D) 返回N的四舍五入值,保留D位小数(D的默认原创 2015-03-10 12:17:35 · 457 阅读 · 0 评论 -
30、MySQL-删除表
1、一次删除一张数据表 DROP TABLE tbl_name;2、一次删除多张数据表 DROP TABLE tbl_name1,tbl_name2...mysql> USE learndb1;Database changedmysql> SHOW TABLES;+--------------------+| Tables_in_lear原创 2015-03-06 15:12:01 · 481 阅读 · 0 评论 -
29、MySQL-多表更新与删除
mysql> SELECT * FROM employee;+----+-----------+------+------+---------+------+-------+| id | username | age | addr | salary | sex | depId |pId|+----+-----------+------+------+---------+----原创 2015-03-06 15:11:34 · 449 阅读 · 0 评论 -
28、MySQL-联合查询
UNION ALL :将查询结果合并到一起UNION:去掉重复记录-- 两张表中一共有14条记录mysql> SELECT * FROM user1;+----+----------+------+| id | username | pId |+----+----------+------+| 1 | HAHA1 | 1 || 2 | HA原创 2015-03-06 15:09:53 · 441 阅读 · 0 评论 -
26、MySQL-外键
一、主键和外键的作用定义主键和外键主要是为了维护关系数据库的完整性,总结一下:主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。二、主键、外原创 2015-03-06 15:08:37 · 1082 阅读 · 0 评论 -
25、MySQL-连接查询
1、多表连接查询mysql> -- 查询员工表中的员工的编号、姓名,性别,年龄,所属部门名称mysql> SELECT e.id,e.username,e.sex,e.age,d.depName FROM employee AS e,department AS d WHERE e.depId=d.id;+----+-----------+------+------+--------原创 2015-03-06 15:09:11 · 786 阅读 · 0 评论 -
23、MySQL-限制显示结果
主要实现分页功能。1、LINIT 值:代表显示前几条记录mysql> -- 显示前5条记录mysql> SELECT * FROM employee LIMIT 5;+----+----------+------+------+---------+------+-------+| id | username | age | addr | salary |原创 2015-03-06 15:06:10 · 786 阅读 · 0 评论 -
22、MySQL-对查询结果排序(ORDER BY)
1、按照一个字段排序 ORDER BY 字段名称|位置 ASC|DESC 默认以升序排列mysql> -- 以年龄降序形式显示所有员工mysql> SELECT * FROM employee ORDER BY age DESC;+----+-----------+------+------+---------+------+-------+| id原创 2015-03-06 15:04:33 · 14321 阅读 · 0 评论 -
32、MySQL-字符串函数
MySQL 常用字符串函数LENGTH 返回字符串的长度CHAR_LENGTH 返回字符串的字符数CONCAT(S1,S2…)将字符串合并为一个字符串CONCAT_WS(X,S1,S2…)以指定分隔符连接字符串UPPER(S)/UCASE(S) 将字符串转换为大写LOWER(S)/LCASE(S) 将字符串转换为小写LEFT(S,N)/RIGHT(S,N) 返回字符串的原创 2015-03-10 12:17:30 · 580 阅读 · 0 评论 -
34、MySQL-系统信息函数
MySQL系统信息函数有:VERSION() 返回数据库的版本号CONNECTION_ID() 返回服务器的连接数DATABASE() , SCHEMA() 返回当前数据库名USER() , SYSTEM_USER() 返回当前用户CURRENT_USER() ,CURRENT_USER 返回当前用户CHARSET(STR) 返回字符串STR的字符集LAST原创 2015-03-10 12:19:02 · 1490 阅读 · 0 评论 -
35、MySQL-加密函数
MySQL中可以通过以下两种方式加密:MD5()PASSWORD()1、MD5加密可以得到32位加密结果mysql> SELECT MD5('张三');+----------------------------------+| MD5('张三') |+----------------------------------+| 615db57aa3145原创 2015-03-10 12:19:33 · 2078 阅读 · 0 评论 -
42、MySQL-更新视图
更新视图格式: UPDATE 视图名 ...mysql> ALTER VIEW v2-> (id,name,age)-> AS-> SELECT id,username,age FROM employee;Query OK, 0 rows affected (0.02 sec)mysql> SELECT * FROM v2;+----+-------原创 2015-03-10 16:40:01 · 672 阅读 · 0 评论 -
41、MySQL-修改视图
视图的修改可通过如下两种命令实现CREATE OR REPLACE VIEW 视图名...ALTER VIEW 视图名...方式一、mysql> CREATE OR REPLACE VIEW v1-> AS-> SELECT * FROM department;Query OK, 0 rows affected (0.02 sec)mysql> SELECT原创 2015-03-10 16:39:25 · 759 阅读 · 0 评论 -
40、MySQL-查看视图
查看视图有如下四种方式DESCRIBESHOW TABLE STATUS LIKE ’视图名'SHOW CREATE VIEW 视图名系统数据库information_schema 的views表中1、DESCRIBE— 能查看视图的列信息mysql> DESCRIBE v1;+----------+----------------------------+--原创 2015-03-10 16:37:44 · 1721 阅读 · 0 评论 -
39、MySQL-视图创建
一、什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。这样,用户可以不用看到整个数据库中的数据,而之关心对自己有用的数据。数据库中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中。使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。视图中的数据依赖于原来表中的数据,一旦表中数据发生改变原创 2015-03-10 16:37:04 · 729 阅读 · 0 评论 -
37、MySQL-创建存储过程和函数
一、存储过程简介我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构原创 2015-03-10 12:20:19 · 2115 阅读 · 0 评论 -
38、MySQL-操作存储过程和函数
一、调用存储过程和函数 调用存储过程格式: CALL 存储过程名 (参数) — 调用存储过程mysql> CALL sp_demo1();+----+-----------+------+---------+--------+-------+------+| id | username | age | salary |原创 2015-03-10 12:20:40 · 742 阅读 · 0 评论 -
36、MySQL-流程函数
流程函数有两个:IF(EXPR,V1,V2) 如果表达式EXPR成立,返回结果V1;否则返回结果V2IFNULL(V1,V2) 如果V1的不为空,就现实V1的值;否则V2mysql> SELECT IF(1>2, 'A','B');+------------------+| IF(1>2, 'A','B') |+------------------+| B |原创 2015-03-10 12:19:59 · 680 阅读 · 0 评论 -
33、MySQL-时间函数
MySQL常用日期时间函数CURDATE(),CURRENT_DATE() 返回当前日期CURTIME(),CURRENT_TIME() 返回当前时间NOW() 返回当前日期和时间MONTH(D) 返回日期中月份的值MONTHNAME(D) 返回日期中月份名称DAYNAME(D) 返回日期是几DAYOFWEEK(D) 返回一周内的第几天,1代表周日WEEKDAY(D原创 2015-03-10 12:18:30 · 586 阅读 · 0 评论 -
20、MySQL-带条件查询(WHERE)
条件可以有:比较运算符、范围、集合1、比较运算符(> >= != )mysql>-- 等号mysql> SELECT * FROM user WHERE username='张1';+----+----------+------+| id | username | age |+----+----------+------+| 6 |原创 2015-03-06 15:03:04 · 1866 阅读 · 0 评论 -
17、MySQL-更新记录
1、单表更新 UPDATE tbl_name SET 字段名称=值|exp|DEFAULT,字段2... [WHETE 条件];mysql> -- 将表中第一个用户的年龄更改mysql> UPDATE user SET age=45 WHERE id=1;mysql> -- 将表中第2个用户的年龄和姓名更改mysql> UPDATE user SET age=原创 2015-03-06 15:02:51 · 451 阅读 · 0 评论 -
16、MySQL-插入记录
1、一次插入一条记录 INSERT [INTO] tbl_name [(字段名称)] VALUES(值|exp|DEFAULT...);mysql> CREATE TABLE IF NOT EXISTS user( -> id SMALLINT UNSIGNED AUTO_INCREMENT KEY, -> username VARCHAR(20)原创 2015-03-06 15:02:07 · 459 阅读 · 0 评论 -
3、MySQL-创建数据库
一、SQL规范1、数据库名、表名、关键字需要大写2、SQL命令支持折行操作,不能将单词、名称、或者成对的引号折行来写3、当名称和MYSQL保留字冲突的时候,需要用' ' 写上括号名称4、和名称相关的,不要起特殊字符,也不要起中文,最好名称含义明确,以字母开始,可以包含数字、字母、下划线二、开启输出日志的形式\T 文件保存位置以及文件名称\t 结束日志输原创 2015-03-06 14:50:07 · 736 阅读 · 0 评论 -
2、MySQL-登录与退出
我们使用window中的CMD使用MySQL,首先我们在环境变量中添加环境变量。一、登录MySQL方式1:mysql -u用户名 -p密码方式2:mysql -u用户名 -p Enter Password:***方式3:输入时指定主机名称 默认localhost mysql -h127.0.0.1 -u用户名 -p密码原创 2015-03-06 14:47:27 · 534 阅读 · 0 评论 -
1、MySQL-服务打开
1、计算机上右键-管理-服务2、找到MySQL服务3、启动MySQL服务原创 2015-03-06 14:45:39 · 428 阅读 · 0 评论 -
27、MySQL-外连接查询
外连接有三种方式:左连接,右连接和全连接。LEFT|RIGHT [OUTER] JOIN ON 条件左连接:根据左表的记录,在被连接的右表中找出符合条件的记录与之匹配,找不到与左表匹配的,用null表示右连接:根据右表的记录,在被连接的左表中找出符合条件的记录与之匹配,找不到与左表匹配的,用null表示mysql> -- 插入一条数据,此时的部门字段为6 ,但是部门表里原创 2015-03-06 15:09:06 · 1119 阅读 · 0 评论 -
24、MySQL-子查询
1、由In引发的子查询mysql> -- 查询公开性别的所有员工mysql> SELECT * FROM employee WHERE sex IN (SELECT sex FROM department WHERE sex!='保密' );+----+-----------+------+------+---------+------+-------+| id | usern原创 2015-03-06 15:08:41 · 517 阅读 · 0 评论 -
21、MySQL-分组查询(GROUP BY)及二次筛选(HAVING)
为了测试GROUP BY 语句,我们创建两张表,并往表中添加数据-- 创建部门表CREATE TABLE IF NOT EXISTS department(id TINYINT UNSIGNED AUTO_INCREMENT KEY,depName VARCHAR(20) NOT NULL UNIQUE);-- 添加部门INSERT department(depName原创 2015-03-06 15:05:09 · 36073 阅读 · 0 评论 -
19、MySQL-查询表达式
查询(SELECT)---> 分组(GROUP BY)--->二次筛选(HAVING)--->排序(ORDER BY)--->限制结果(LIMIT)查询格式SELECT expr[,...] FROM tbl_name [WHERE 条件] [GROUP BY 分组 [HAVING 字句对分组结果进行二次筛选]] [ORDER BY 排序] [LIMIT 限制显示原创 2015-03-06 15:02:38 · 859 阅读 · 0 评论 -
18、MySQL-删除记录
1、删除所有记录 DELETE FROM tbl_name;2、删除指定记录 自增长值不变 DELETE FROM tbl_name WHERE 条件;mysql> -- 删除指定记录mysql> DELETE FROM user WHERE id=5;Query OK, 1 row affected (0.05 sec)原创 2015-03-06 15:03:17 · 598 阅读 · 0 评论 -
4、MySQL-修改数据库编码方式
ALTER {DATABASE|SCHEMA} db_name [[DEFAULT] CHARACTER SET [=] 字符集] ;mysql> SHOW CREATE DATABASE learndb2;+----------+------------------------------------------------------------------+| Dat原创 2015-03-06 14:50:02 · 426 阅读 · 0 评论 -
5、MySQL-打开数据库
一、打开指定的数据库USE db_name; mysql> SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || learndb1 || learndb2 || m原创 2015-03-06 14:51:56 · 702 阅读 · 0 评论 -
6、MySQL-删除数据库
一、删除指定的数据库DROP {DATABASE()|SCHEMA()} db_name;mysql> DROP DATABASE learndb2;Query OK, 0 rows affected (0.12 sec)二、如果数据库存在是才删除数据库DROP {DATABASE()|SCHEMA()} [IF EXISTS] db_name;原创 2015-03-06 14:52:34 · 417 阅读 · 0 评论 -
15、MySQL-修改数据表
当数据表结构需要改变时就需要修改数据表结构ALTER TABLE 语句功能:添加、删除字段修改字段类型、位置、名称添加、删除主键约束添加、删除默认值添加、删除唯一修改表名1、添加字段(ADD) ALTER TABLE tbl_name ADD 字段名称 字段类型 约束条件 [FIRST|AFTER 字段名称]; mysql> CREA原创 2015-03-06 15:01:29 · 569 阅读 · 0 评论 -
14、MySQL-唯一约束(UNIQUE KEY)
保证记录的唯一性,一个表中可以有多个唯一性约束,空值不受唯一性约束唯一性约束格式CREATE TABLE tbl_name( 字段名称 字段类型 UNIQUE KEY);mysql> CREATE TABLE IF NOT EXISTS testUNIQUE( -> id INT AUTO_INCREMENT KEY, -原创 2015-03-06 15:01:00 · 6016 阅读 · 0 评论 -
12、MySQL-默认值约束(DEFAULT)
一般默认值约束会和非空约束同时使用格式CREATE TABLE tbl_name( 字段名称 字段类型 DEFAULT 默认值);mysql> CREATE TABLE IF NOT EXISTS testDF( -> id INT, -> username VARCHAR(20) NOT NULL DEFAULT 'HAHA'原创 2015-03-06 14:59:36 · 4932 阅读 · 0 评论 -
11、MySQL-非空约束(NOT NULL)
指定字段的值不能为空NOT NULL ---此字段值禁止为空NULL ---默认值CREATE TABLE tbl_name( 字段名称 字段类型 NOT NULL);mysql> CREATE TABLE testNNULL( -> id INT, -> username VARCHAR(20) NOT NULL原创 2015-03-06 14:59:01 · 4563 阅读 · 0 评论 -
10、MySQL-自增长约束(AUTO_INCREMENT)
为新纪录自动生成唯一的ID必须联合主键使用,一个表只允许一个字段使用,只能应用于整数类型列,增量为1。CREATE TABLE tbl_name( 字段名称 字段类型 AUTO_INCREMENT);mysql> CREATE TABLE testAT( -> id INT AUTO_INCREMENT PRIMARY KEY, -> u原创 2015-03-06 14:57:01 · 1864 阅读 · 0 评论 -
9、MySQL-主键约束(PRIMARY KEY)
关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。 主键是每条信息的唯一信息,主键不能重复,主键保证记录的唯一性,主键自动禁止为空值,主键一般标志到无意义的字段上,且主键一般标志到编号字段。一、声明主键的方法方式1:创建表的时候为表添加主键CREATE TABLE tbl_name( 字段名原创 2015-03-06 14:57:27 · 3991 阅读 · 0 评论