请选择 进入手机版 | 继续访问电脑版
发帖
开启辅助访问
 找回密码
 立即注册
取消
搜索
热搜:
活动 交友 discuz
分享到

MYSQL基础

#技术分享#时间:2018-08-10 阅读:928 回复:11

4

主题

52

帖子

320

积分

天高云淡

积分
320

发帖小能手发帖小霸王云子元老

第一章 基础介绍
1、MYSQL文件内容介绍
Mysql各个文件夹简介
Bin文件夹:该文件夹下用于存放可执行文件
Data文件夹:该文件夹用于存放日志文件和数据库
docs文件夹:该文件夹用于存放版权信息、MySQL的更新日志和安装信息等文档
Include文件夹:该文件夹用于存放头文件
Lib文件夹:该文件用于存放库文件
Mysql-test文件夹:该文件夹用于存放域测试有关的文件
scripts文件夹:该文件用于存放实用perl语言编写的实用工具脚本
share文件夹:该文件夹用于存放字符集、语言等信息
Sql-bench文件夹:该文件夹用于存放多种数据库之间性能比较的信息和基准程序
配置文件(.ini)配置文件简介
My,ini文件:MySQL软件正在实用的配置文件
my-huge.ini文件:当MySQL软件为超大型数据库时实用的配置文件
My-innodb-heavy-4G.ini文件:当MySQL软件的存储引擎为innodb,而且内存不小于4GB时使用的配置文件
My-large.ini文件:当MySQL软件为大型数据库时使用的配置文件
My-medium.ini文件:当mysql软件为中型数据库时使用的配置文件
My-small.ini文件:当MySQL软件为小型数据库时使用的配置文件
My-template.ini文件:配置文件模板
2、配置介绍(图形配置)
21三种应用类型
   Developer Machine:开发及,该类型应用将会使用最小数量的内存
   Server Machine:服务器,该类型应用将会使用中等大小的内存
   Dedicated MYSQL Server Machine:专用服务器,该类型应用将使用当前可用的最大内存
22三种用途类型数据库
  Multifunctional Database:多功能数据库,对事务性存储引擎和非事务性存储引起的存取速度都很快
  Transaction Database Only:事务性数据库:主要优化了事务性存储引擎,但是非事务性存储引擎也可以使用
Non-Transaction Database Only:非事务性数据库,主要优化了非事务性存储引擎,注意事务性引擎不可以使用
23 三种并发处理
   Decision Support(DSS)/OLAP:决策支持系统,设置并发连接数为20
   Online Transaciton Processing(OTP):在线事务系统,设置并发连接数为500
Manual Setting:手工设置,可以手工设置并发连接数
(如果MYSQL安装在服务器端,一定要勾选Add firewall exception for this port以保证同一网络内用户可以访问该端口默认端口为:3306
24三种字符集
Standard Character Set:标准字符集,MYSql提供的标准字符集默认为Latin1
BEST support Multilingualism:支持多国语言最好的字符集,默认值为UTF8
Manual Selected Default Character SET/Collation:手动设置,可以手动设置字符集
(如果安装在服务器上需选择:Enable root access from remove machines可以让计算机远程用过root用户登录mysql
default-character-set:客户端字符集,character-set-server:服务器端字符集,port:客户端和服务器端的端口号,default-sorage-engin:MYSQL软件的存储引擎)
3mysql简略操作
Net strat mysql 启动服务
Net stop MySQL 停止服务
Mysql -h 服务器IP地址 -u root -p(密码) -P(端口)
(若连接不了MYSQL除从装数据库外,可以修改系统变量Path属性添加MYSQL添加BIN目录注:目录之间用;分割)
若遇免安装软件,则需要修改my.ini 文件。修改后在mysqld组中增加以下记录
Basedir=C:\\mysql\\”此为安装路径
Datadir=c:\\,ysql\\data\\”此为MYSQL数据的文件
Server=c:\\mysql\\bin\\mysqld.exe”服务启动项位置
Create databases database-name 创建数据库
Drop databases databases-name 删除数据库
SHOW databases 查看已存在的数据库
Use databases-name 使用该数据库
第二章 存储类型和数据类型
1、三种存储引擎介绍及使用
MYISAM存储引擎:该引擎不支持事务也不支持外键,但访问速度快
INNODB存储引擎:具有事务优势,支持具有提交、回滚和崩溃回复能力的事务安装,比myisam占用更多磁盘空间,需频繁更新。
MEMORY存储引擎:使用内存存储数据,访问速度快,但不安全
Show engines \g查看MYSQL支持的存储引擎和默认存储引擎
(上语句可以查看现在默认的引擎, mysql支持federated,mrg-myisam,myisam,blackhole,scv,memory,archive,innoDBperformance-schema
\G和;都是结束符
Show variables like storage_engine%;查看默认的存储引擎
说明:设置like的关键字为storage_engine%,表示查询默认存储引擎
修改默认存储引擎在my.ini配置文件中将default-storage-engine=INNODB(其中INNODB为存储引擎,如配置文件修改保存生效许重启服务)
2、数据类型及使用
21整形数据
整数类型
字节
最小值
最大值
TINYINT
1
有符号-128/无符号0
有符号127/无符号255
SMALLINT
2
有符号-32768/无符号0
有符号32767/无符号65535
MEDIUMINT
3
有符号-8388608/无符号0
有符号8388607/无符号1677215
INTINTEGER
4
有符号-2145483648/无符号0
有符号2147483647/无符号4294967295
BIGINT
8
有符号-9223372036854775808/无符号0
有符号9223372036854775807/无符号18446744073709551615
注意:使用help contents可以查看系统帮助
22浮点数类型、定点数类型、位类型
浮点类型
字节
最小值
最大值
FLOAT
4
±175494351E-38
±3.402823466E+38
DOUBLE
8
±2.2250738585072014E-308
±1.7976931348623157E+308
定点数类型
字节
最小值
最大值
DEC(M,D)DECIMALM,D
M+2
与DOUBL相同
与DOUBL相同
位类型
字节
最小值
最大值
BIT(M)
1-8
BIT(1)
BIT(64)
注意:如果需要存储小数数据则可以选择浮点数据类型
3、日期和时间类型
时间和日期类型
字节
最小值
最大值
DATE
4
1000-01-01
9999-12-31
DATETIME
8
1000-01-01 00:00:00
9999-12-31 23:59:59
TIME
3
-835:59:59
835:59:59
YEAR
1
1901
2155
TIMESTAMP
4
19700101080001
2038年的某个时刻
注:适用场合
DATA:表示年月日DATETIME表示年月日时分秒TIMESTAMP更新或插入当前时间
TIME 时分秒YEAR 年份
4、字符串类型(比较常用)
CHAR系列字符串类型
字节
描述
CHAR(M)
M
M0-255之间的整数
VACHAR(M)
M
M0-65535之间的整数
TEXT系列字符串类型
字节
描述
TINYTEXT
0-255
值的长度+2字节
TEXT
0-65535
值的长度+2字节
MEDIUMTEXT
0-16777150
值的长度+3字节
LONGTEXT
0-4294967295
值的长度+4字节
BINARY系列字符串类型
字节
描述
BINARYM
M
允许长度为0-M
VARBINARY(M)
M
允许长度为0-M
BLOB席力图字符串类型
字节
TINYBLOB
0-255
BLOB
0-216次方
MEDIUMBLOB
0-224次方
LONGBLOB
0-232次方
注意:CHAR是固定值,VACHAR的长度是可变的
     TINYTEXT允许字符串长度最小,LONGTEXT允许字符串长度最大
     BINARY适用于存储少量2进制数据
     BLOBTEXT类型相同,后者可存储二进制和字符数据,前者只能存储字符数据


回复
使用道具 举报

4

主题

52

帖子

320

积分

天高云淡

积分
320

发帖小能手发帖小霸王云子元老

开州小杨| 2018-8-10 11:20:39 | 显示全部楼层
本帖最后由 79146e5e 于 2018-8-10 15:19 编辑

此为mysql数据库应用从入门到精髓所有章节内容笔记,安装下载除外.后续更新中。。。。。。。。。。。。。。。
回复
使用道具 举报
云子可信-技术菌| 2018-8-13 11:38:57 | 显示全部楼层
厉害~温馨提醒,可以直接在原贴编辑,不用建新楼哟~当然要建新楼也木啥问题~
回复
使用道具 举报

4

主题

52

帖子

320

积分

天高云淡

积分
320

发帖小能手发帖小霸王云子元老

开州小杨| 2018-8-10 15:15:47 | 显示全部楼层
本帖最后由 79146e5e 于 2018-8-11 14:54 编辑

第三章表的操作
1、创建表
注:进行数据库操作前需要选择数据库,并进入该数据库内对表进行操作。
语法:CREATE TABLE table_name(
          属性名  数据类型,
          ............................
          属性名   数据类型
          )
例:CREATE TABLE t-dept (
     deptno INT,
     Dname VARCHAR(20),
     Loc VARCHAR(40)
);
上例定义三列,并对每列进行数据类型定义。
2、查看表结构
语法: DESCRIBE table_name
例:DESCRIBE t_dept
上例可以查看该表的定义信息。
3、查看表的详细定义
语法:SHOW CREATE TABLE table_name
例:SHOW CREATE TABLE t_dept \G
此语法更详细显示表的定义信息
4、删除表
语法:DROP TABLE table_name
例:DROP TABLE t_dept;
验证表是否删除
语法:DESCRIBE 查验表是否存在
5、修改表
5.1修改表名
语法:ALTER TABLE old_table_name RENAME [TO] new_table_name
例:ALTER TABLE t_dept RENAME tab_dept;
查看是否修改成功
语法:DESC t_dept和DESC tab_dept   
上例将表进行表名修改,修改后的表结构与原表完全一致
5.2增加字段
语法:ALTER TABLE table_name
     ADD 属性名 数据类型
例:ALTER TABLE t_dept
ADD descri VARCHAR (20);
查看表
DESC t_dept;
上例将增加一列在表中,并对其进行数据定义,通过查看表是否成功。


5.2.1在表的第一位置增加字段
语法:ALTER TABLE table_name
      ADD 属性名 数据类型 FRIST;
例:ALTER TABLE t_dept
ADD descri VARCHAR(20) FRIST;
上例将 descri 字段加入到表的第一列并定义数据类型
5.2.2在表制定字段之后增加字段
语法: ALTER TABLE table_name、
       ADD 属性名 数据类型
AFTER 属性名
例:ALTER TABLE t_dept
ADD VARCHAR(20)
AFTER deptno;
上例将descri 字段插在deptno字段之后。此例需要确保deptno字段存在,否则出错!
5.2.3删除字段
语法:ALTER TABLE table_name
      DROP 属性名
例:ALTER TABLE t_dept
DROP deptno;
上例删除deptno字段,删除某个字段首先要确认该字段是否存在
5.2.4 修改字段
语法:ALTER TABLE table_name
MODIFY 属性名 数据类型
例:ALTER TABLE t_dept
MODIFY deptno VARCHAR(20);
结合之前创建表的例子我们可以看到将数据类型已经由INT改为VACHAR了
5.2.5 修改字段名字
语法:ALTER TABLE table_name
CHANGE 旧属性名 新属性名 旧数据类型
例:ALTER TABLE t_dept
CHANGE loc location VACHAR(40);
上例将loc字段列名称改成了loction
5.2.7同时修改字段名和数据类型
语法:ALTER TABLE table_name
CHANGE 旧属性名 新属性名 新数据类型
例:ALTER TABLE t_dept
CHANGE location loc VACHAR(20);
上例将loction字段列名称改成了loc并进行数据类型进行新的定义
5.2.8修改字段顺序
语法:ALTER TABLE table_name
MODIFY 属性名1 数据类型 FRIST|AFTER 属性名2
例:ALTER TABLE t_dept
MODIFY loc VACHAR(40) FRIST;或者MODIFY loc VACHAR(40) AFTER dname;

上例将loc字段移到第一个位置或移动到dename之后
5.3操作表的约束
5.3.1设置非空约束(NOT NULL,NK)
语法:ALTER TABLE table_name (
      属性名 数据类型 NOT NULL,
     ................................
);
例:CREATE TABLE t-dept(
   deptno INT(20) NOT NULL,
   dname VARCHAR(20),
   loc VARCHAR(40),
  );
上例创建表时将deptno字段定义为非空值。
5.3.2设置字段的默认值(DEFAULT)
语法:CREATE TABLE table_name(
属性名 数据类型 DEFAULT 默认值
例:CREATE TABLE t-dept(
   deptno INT(20) NOT NULL,
   dname VARCHAR(20) DEFAULT ‘cjgong’,
   loc VARCHAR(40),
  );
通过此语法查看表示,dname列显示的默认值将是cjgong
5.3.3设置唯一约束(UNIQUE,UK)
语法:CREATE TABLE table_name(
属性名 数据类型 UNIQUE L,
      .................................
);
例:CREATE TABLE t-dept(
   deptno INT(20) NOT NULL,
   dname VARCHAR(20) DEFAULT ‘cjgong’,
   loc VARCHAR(40) UNIQUE,
  );
可使用关键字CONSTRAINT设置唯一约束的标识符
上例种取消UNIQUE改成如下:CONSTRAINT uk_loc UNIQUE(loc)
5.3.4设置主键约束
单字段主键
语法:CREATE TABLE table_name(
属性名 数据类型  PRIMARY KEY,
..................................
);
例:CREATE TABLE t-dept(
   deptno INT PRIMARY KEY,
   dname VARCHAR(20) ,   loc VARCHAR(40) ,
  );

如需对deptno的PK的约束设置名字则如下
例:CREATE TABLE t-dept(
   deptno INT ,
   dname VARCHAR(20) ,  
loc VARCHAR(40) ,
CONSTRAINT pk-dptno PRIMARY KEY(dptno)
  );
多字段主键
语法:语法:CREATE TABLE table_name(
属性名 数据类型  PRIMARY KEY,
..................................
【CONSTRAINT 约束名】PRIMARY KEY(属性名,属性名........)
);
例:CREATE TABLE t-dept(
   deptno INT ,
   dname VARCHAR(20) ,  
loc VARCHAR(40) ,
CONSTRAINT pk-dptno PRIMARY KEY(dptno,dname)
  );
上例对(dptno,dname)字段约束。
5.4设置字段自动增加(OUT_INCREMENT)
语法:CREATE TABLE table_name(
属性名 数据类型 OUT_INCREMENT ,
..................................
);
例:CREATE TABLE t-dept(
   deptno INT PRIMARY KEY OUT_INCREMENT,
   dname VARCHAR(20) ,  
loc VARCHAR(40) ,
  );
上例 deptno已被设置为OUT_INCREMENT和PK约束
5.5设置外键约束
语法:CREATE TABLE table_name(
属性名 数据类型,
属性名 数据类型
..................................
);
例:CREATE TABLE t_employee(
empno INT PRIMARY KEY,
ename VARCHAR(20)’
Job VARCHAR(40),
MGR INT,
Hiredate DATE,
sal DOUBLE(10,2),
Comm DOUBLE(10,2),
deptno INT,
CONSTRAINT fk_deptno FOREIGN KEY (deptno)
        REFERENCES t_dept(deptno)
);
通过PRIMARY KEY对empno字段设置PK约束,通过FOREIGN KEY 对deptno字段设置PK约束,参考t_dept表中主键约束字段deptno。
回复
使用道具 举报

4

主题

52

帖子

320

积分

天高云淡

积分
320

发帖小能手发帖小霸王云子元老

开州小杨| 2018-8-11 14:50:37 | 显示全部楼层
本帖最后由 79146e5e 于 2018-8-11 14:53 编辑

第四章索引的操作
注意:每次操作需要选择数据库和查看操作数据库表的内容及表的内容
Use databases-name 使用数据库及DESC table_name 查看数据库中表的信息
1、查看和创建索引
1.1创建表时创建普通索引
语法:CREATE TABLE table_name(
      属性名 数据类型,
      属性名 数据类型,
      .........................
     属性名  数据类型,
INDEX |KEY 【索引名】(属性名1【(长度)】【ASC|DESC】)
);
解释:上述语句中INDEX或KEY参数用来指定字段为索引。ASC或DESC用来升降排序。
注意:在创建索引时可指定索引长度,因为不同的存储引擎定义了表的最大索引数和最大索引长度。
例:CREATE TABLE t-dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
INDEX index_deptno(deptno)
);
此例创建表的同时设置了关于字段deptno的索引对象 index_deptno.
通过SHOW CRETE TABLE t_dept \G;查看索引是否创建成功。
通过EXPLAIN (此为关键字)
            SELECT *FROM t_dept WHERE deptno=1\G;校验deptno索引是否启动。
1.2在已存在的标准创建普通索引
语法:CREATE INDEX 索引名
      ON 表名 (属性名 【(长度)】【ASC|DESC】
例:CREATE INDEX index_dept \G
ON t_detp (deptno);
上述创建关联表t_dept中字段deptno的索引index_deptno。
利用SHOW CREATE TABLE t_dept \G查看是否创建成功
1.3通过SQL语句ALTER TABLE创建普通索引
语法:ALTER TABLE table_name
ADD INDEX|KEY索引名(属性名【(长度)】【ASC|DESC】)
例:ALTER TABLE t_dept
ADD INDEX index_deptno(deptno);
上述创建关联表t_dept中deptno的普通索引index_deptno
利用SHOW CREATE TABLE t_dept \G查看是否创建成功
1.4创建和查看唯一索引
1.4.1船坚表示创建唯一索引
语法:CREATE TABLE table_name (
      属性名 数据类型,
      属性名 数据类型,
      ...........................
属性名 数据类型,
UNIQUE INDEX|KEY 【索引名】(属性名【(长度)】【ASC|DESC】)
例:CREATE TABLE t_dept(
deptno INT UNIQUE,
dname VARCHAR (20),
loc VARCHAR(40),
UNIQUE INDEX index_deptno (deptno)
);
上例创建表时同时设置了deptno字段的唯一索引对象为index_deptno
查看是否创建成功 SHOW CREATE TABLE t_dept \G
查看索引是否被使用 EXPLAIN  
                       SELECT *FROM t_dept WHERE deptno=10 \G(dname=’cjgong’\G)后章节用到的语句例
1.4.2在已存在的表上创建唯一索引
语法:CREATE UNIQUE INDEX 索引名
     ON 表名(属性名 【(长度)】【ASC|DESC】
例:CREATE UNIQUE INDEX inde_deptno
ON t_dept (deptno);
上例语句中创建关联表t_dept中字段deptno的唯一索引为index_deptno
1.4.3通过SQL语句ALTER TABLE创建唯一索引
语法:ALTER TABLE table_name
      ADD UNIQUE INDEX|KEY 索引名 【(长度)】【ASC|DESC】
例:ALTER TABEL t_dept
   ADD UNIQUE INDEX index_deptno (deptno);
上述语句中创建关联表t_dept中字段deptno的唯一索引为index_deptno
1.5 创建和查看全文索引
全文索引主要关联在数据类型为CHAR,VARCHAR和TEXT的字段上,只能存储引擎为MYISAM的数据库表上创建全文索引
1.5.1创建表时创建全文索引
语法: CREATE TABLE table_name (
       属性名 数据类型
       .............................
      属性名 数据类型
FULLTEXT INDEX|KEY 【索引名】(属性名1【(长度)】【ASC|DESC】)
例:CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
FULLTEXT INDEX index_loc(loc)
) ENGINE+MYISAM;
上述语句中创建关联表t-dept中字段loc的全文索引index_loc
1.5.2在已存在的表上创建全文索引
语法:CREATE FULLTEXT INDE 索引名
      ON 表名(属性名 【(长度)】【ASC|DESC】)
例:CREATE FULLTEXT INDEX index_loc
ON t_dept (loc);
上述语句中创建了关联表t_dept中字段loc的全文索引index_loc
1.5.3通过SQL语句ALTER TABLE创建全文索引
语法:ALTER TABLE table_name
      ADD FULLTEXT INDEX|KEY 索引名(属性名 【(长度)】【ASC|DESC】)
例:ALTER TABLE t_dept
ADD FULLTEXT INDEX index_loc(loc);
上述语句中创建了关联表t_dept中字段loc的全文索引为index_loc
1.6创建和查看多列索引
1.6.1创建表时创建多列索引
语法:CREATE TABLE table_name(
      属性名 数据类型
      .............................
     属性名 数据类型
INDEX|KEY 【索引名】 (属性名1【(长度)】【ASC|DESC】,
                    ............................
                     属性名n 【(长度)】【ASC|DESC】)
);
例:CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
KEY index——dname_loc(dname,loc)
);
上述语句中创建t_dept的同时设置了关于字段deptno和loc的多列索引对象index_dname_loc
1.6.2在已存在的表上船舰多列索引
语法:CREATE INDEX 索引名
     ON 表名 (属性名1 【(长度)】【ASC|DESC】,
                ...............................................
               属性名n 【(长度)】【ASC|DESC】

例:CREATE INDEX index_dname_loc
ON t_dept (dname,loc);
上述语句中创建了关联表t-dept中字段dname和loc的多列索引index_dname_loc
1.6.3通过SQL语句ALTER TABLE创建多列索引、
语法:ALTER TABLE table_name
     ADD INDE|KEY 索引名 (属性名【(长度)】【ASC|DESC】,
                      .................................................
                           属性名n【(长度)】【ASC|DESC】  
)
例:ALTER TABLE t_dept
ADD INDEX index_dname_loc(dname,loc);
上述语句中创建了关联表t-dept中字段dname和loc的多列索引index_dname_loc
1.7删除索引
语法:DORP INDEX index_name
      ON tablez_name
例:EXPLAIN  
                       SELECT *FROM t_dept WHERE dname=’cjgong’\G
检验t_dept表中的索引是否被使用,
DORP INDEX index_dname_loc
      ON  t_dept;
上述删除index_dname_loc索引对象
SHOW CREATE TABLE y_dept \G 查看索引是否存在
回复
使用道具 举报

4

主题

52

帖子

320

积分

天高云淡

积分
320

发帖小能手发帖小霸王云子元老

开州小杨| 2018-8-11 15:33:20 | 显示全部楼层
本帖最后由 79146e5e 于 2018-8-14 10:10 编辑



第二章 视图的操作
确保本章中所引用的t_product表的存在,进行操作前一定先确认表和数据库存在
记得操作时别忘记执行USE语句,选择数据库view例:USE view
1视图的创建
语法:CREATE VIEW view_name
      AS 查询语句
例:CREATE VIEW view_selectproduct
AS
   SELECT idname
   FROM t_product
上述创建一个名为view_selectproduct的视图SQL规范中视图一般以view_xxx或者v_xxx命名)
使用视图:SELECT *FROM view_selectproduct;(虽然和查询表格相似,单视图可以实现信息的隐藏)
1.2创建各种视图
1)封装实现查询常量语句的视图即所谓的常量视图
CREATE VIEW view_test1
AS
   SELECT 3.14159266;
2) 封装使用聚合函数(SUM,MIN,MAX,COUNT等)查询语句视图
   CREATE VIEW view_test2
AS
   SELECT COUNT(name)
    FROM t_student;
3) 封装实现排序功能(ORDER BY)查询语句视图
CREATE VIEW view_test3
AS
   SELECT name
FROM t_student  
ORDER BY id DESC;
4)封装实现表内链接查询语句的视图
CREATE VIEW view_test4
AS
   SELECT s.name
FROM t_student  as s,t_group as g
WHERE s.group_id AND g.id=2;
5)封装实现表外连接(LEFT JOINRIGHT JOIN)查询语句视图
CREATE VIEW view_test5
AS
   SELECT s.name
FROM t_student  as s LEFT JOIN t_group as g ON s.group_id=g.id
WHERE g.id=2;
6) 封装实现子查询相关语句的视图
CREATE VIEW view_test6
AS
   SELECT s.name
FROM t_student  as s
WHERE s.group_id IN (SELECT id FROM t_group);
7) 封装实现记录(UNIONUNION ALL)查询语句视图
CREATE VIEW view_test7
AS
   SELECT id,name FROM t_student
UNION ALL
SELECT id,name FROM t_group;
2查看视图
2.1查看视图名
语法:USE view;   SHOW TABLES;
2.2查看视图详细xinx
语法SHOW TABLE STATUS FROM db_name】【LIKE pattern
例:SHOW TABLE STAUS
   FROM view \G
上述代码用来实现查看view数据库李所有表和视图的详细信息
2.3查看具体视图在2.2的基础上加上一下语句
LIKE view_selectproduct\G
2.4查看视图定义信息
语法:SHOW CREAT VIEW viewname
例:SHOW CREAT VIEW V view_selectproduct \G
2.5查看视图设计信息
语法:DESCRIBE | DESC viewname
例:DESC view_selectproduct;
上述为查看 view_selectproduct视图设计信息
2.6通过系统表查看视图信息
例:SELECT *
      FROM view
         WHERE table_name = view_selectproduct \G
上述SQL语句中的查询表view李,字段table_name值为 view_selectproduct的数据信息
2.7删除视图
语法:DROP VIEW view_name ,view_name........
例:DORP VIEW view_selectproduct;
上述删除名为view_selectproduct的视图对象,
检验是否还存在该视图使用以下语句:
SELECT *
      FROM  view_selectproduct;
删除多个视图如下:
DORP VIEW view_selectproduct1,view_selectproduct2;;
2.8修改视图
2.8.1CREATE OR REPLACE VIEW语句修改视图
方法1:
注意视图名称不能重复
语法:CREATE VIEW view_name
          AS  查询语句
例:CREATE VIEW view_selectproduct  
        AS
      SELECT name
      FROM t_product;
上述语句中主要用来实现创建视图对象view_selectproduct
如出现视图存在的错误可先删除视图,再重新创建新功能的视图
方法2
语法:CREATE OR REPLACE VIEW view_name
      AS 查询语句
例:CREATE OR REPLACE VIEW view_selectproduct
     AS
       SELECT name FROM t_product;
该方法不需要先删除再创建,MYSQL会自动创建,相对方法1更简单
2.8.2ALTER语句修改视图
语法:ALTER VIEW viewname
      AS 查询语句
例:ALTER VIEW view_selectproduct
     AS
       SELECT name FROM t_product;
2.8.1执行结果一样,可通过SELECT *FROM view_name查看修改情况
2.9利用视图操作基本表
2.9.1检索(查询)数据
语法:SELECT *FROM view_name
2.9.2利用视图操作基本表数据
2.9.2.1添加数据操作
INSERT INTO view_product (id,name,price,order_id)
  VALUES (11,PERA4,12.3,2);
注意上述语句中由于VALUSE后的数据常量与视图中的列一一对应,所以视图名view_product后的列名可以不写,语句改成如下:
INSERT INTO view_product
  VALUSE (11,PEAR4,12.3,2);
2.9.2.2删除数据操作
DELECE FROM view_product
WHERE name+apple;
2.9.2.3更新数据操作
UPDATE V view_product
  Set price=3.5
     WHERE name=pearl;
以上通过查询语句查看是否达到相应的效果

回复
使用道具 举报

1

主题

4

帖子

20

积分

过眼云烟

积分
20
af4dab7f| 2018-9-28 17:41:33 | 显示全部楼层
回复
使用道具 举报

1

主题

4

帖子

20

积分

过眼云烟

积分
20
af4dab7f| 2018-9-28 17:44:01 | 显示全部楼层
希望楼主以后持续更新,帮助很大,最好顺便把中间可能会遇到的问题搞出来解决下,嘻嘻
回复
使用道具 举报

4

主题

52

帖子

320

积分

天高云淡

积分
320

发帖小能手发帖小霸王云子元老

开州小杨| 2019-3-18 16:56:02 | 显示全部楼层
af4dab7f 发表于 2018-9-28 17:44
希望楼主以后持续更新,帮助很大,最好顺便把中间可能会遇到的问题搞出来解决下,嘻嘻 ...

我已经直接全部上传了连接,各位可以去技术区下载
回复
使用道具 举报

4

主题

52

帖子

320

积分

天高云淡

积分
320

发帖小能手发帖小霸王云子元老

开州小杨| 2019-3-18 16:56:27 | 显示全部楼层
我已经直接全部上传了连接,各位可以去技术区下载
回复
使用道具 举报
12下一页
快速回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

    4

    主题

    52

    帖子

    320

    积分

    天高云淡

    积分
    320

    发帖小能手发帖小霸王云子元老

发私信

TA 的相关文章

    热门活动

      为青松守护提出您的宝贵建议拿Mac Book Pro
    客服电话
    173-6185-1240
    发布 快速回复 返回顶部 返回列表