设为首页 收藏本站
查看: 1314|回复: 0

[经验分享] SQL语言介绍

[复制链接]

尚未签到

发表于 2018-10-22 06:12:17 | 显示全部楼层 |阅读模式
  #############################################################
  一、SQL结构化查询语言
  (1)什么是SQL?
  SQL,英文全称Structured Query Language 中文意思是结构化查询语言,它是一种对关系型数据库中的数据进行定义
  和操作的语言方法,是大多数关系型数据库管理系统所支持的工业标准。
  结构化查询语言SQL是一种数控查询和程序设计语言,用于存取数据以及查询,更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
  结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解
  具体得数据存放方式,所以,具有完全不同于底层结构的,不同数据库系统也可以使用相同的结构化查询语言作为数据库输入与管理的接口。结构化查询语言可以嵌套,
  这使得它具有极大的灵活性和强大的功能。不同的数据库系统的SQL语言会有一些差别。
  (2)SQL的分类:
  (3)SQL结构化查询语言包含6个部分:
  1.数据查询语言(DQL)
  DQL全称Data Query Language,其语句,也称为“数据检索语句”,用以从表中获得数据。确定数据怎么在应用程序输出,
  关键字select是DQLDQL(也是所有SQL)用得最多的动词,其它DQL常用的保留字有WHERE,ORDER BY,GROUP BY 和HAVING.
  这些DQL保留字常与其它类型的SQL语句一起使用。具体语句例如:
  mysql> select user,host from mysql.user order by user;
  +----------+-----------+
  | user     | host      |
  +----------+-----------+
  | renchuan | localhost |
  | root     | localhost |
  | tangbo   | localhost |
  +----------+-----------+
  3 rows in set (0.01 sec)
  mysql>
  2.数据操作语言(DML)
  DML全称Data Manipulation Language,其语句包括动词INSERT,UPDATE和DELETE。;它们分别用于添加,修改和删除表中的行(数据)
  也成为动作查询语言,具体语句例如:
  mysql> delete from mysql.user where user='oldboy'
  3 rows in set (0.01 sec)
  3.事务处理语言(TPL)
  它的语句能够确保DML语句影响的表的所有行技术得以更新。TPL语句包括BEGIN,TRANSACTION,COMMIT,ROLLBACK.
  4.数据控制语言(DCL)
  DCL全称Data Control Language,它的语言通过GRANT或REVOKE获得许可,确定单个用户和用户组
  对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
  5.数据定义语言(DDL)
  DDL全称Data Definition Language,其语句包括动词CREATE和DROP。在数据库中创建表或删除表
  CREATE TABLE或DROP TABLE,为表加入索引等。DDL包括许多鱼人数据库目录中获得数据有关的保留字,它也是动作查询的一部分。
  6.指针控制语言(CCL)
  CCL全称Data Control Language,它的语句,像DECLARE CURSOR,FETCH INTO 和UPDATE WHERE CURRENT用于一个或多个表单独行的操作。
  (4)总结:SQL语句最常见的分类一般就是三类:
  (DDL)---数据定义语言(CREATE,ALTER,DROP)   运维
  (DML)---数据操纵语言(SELECT,INSERT,DELETE,UPDATE)  开发
  (DCL)---数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 运维
  ###################################################################################################
  ###################################################################################################
  二、MySQL数据库常见管理应用
  (1)创建数据库
  命令语法:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name  库名字不能以数字开头
  例如:
  1.在MySQL默认字符集情况下创建一个tangbo_default测试库:
  mysql> help create database      查看帮助信息
  mysql> create database tangbo_default;    创建tangbo_default测试库
  Query OK, 1 row affected (0.05 sec)
  mysql> show databases like 'tangbo_default';     查看创建是否成功
  +---------------------------+
  | Database (tangbo_default) |
  +---------------------------+
  | tangbo_default            |
  +---------------------------+
  1 row in set (0.00 sec)
  mysql> show create database tangbo_default;     查看创建命令和默认字符集
  +----------------+-------------------------------------------------------------------------+
  | Database       | Create Database                                                         |
  +----------------+-------------------------------------------------------------------------+
  | tangbo_default | CREATE DATABASE `tangbo_default` /*!40100 DEFAULT CHARACTER SET utf8 */ |
  +----------------+-------------------------------------------------------------------------+
  1 row in set (0.00 sec)
  mysql>
  2.创建一个名字为tangbo_gbk的GBK字符集数据库:
  mysql> create database tangbo_gbk default character set gbk collate gbk_chinese_ci;
  mysql> show create database tangbo_gbk;
  +------------+--------------------------------------------------------------------+
  | Database   | Create Database                                                    |
  +------------+--------------------------------------------------------------------+
  | tangbo_gbk | CREATE DATABASE `tangbo_gbk` /*!40100 DEFAULT CHARACTER SET gbk */ |
  +------------+--------------------------------------------------------------------+
  1 row in set (0.00 sec)
  mysql>
  3.通过help帮助查找相关命令
  mysql> help show CHARACTER SET
  mysql> SHOW CHARACTER SET LIKE 'gbk%';
  +---------+------------------------+-------------------+--------+
  | Charset | Description            | Default collation | Maxlen |
  +---------+------------------------+-------------------+--------+
  | gbk     | GBK Simplified Chinese | gbk_chinese_ci    |      2 |
  +---------+------------------------+-------------------+--------+
  1 row in set (0.02 sec)
  mysql> SHOW CHARACTER SET LIKE 'utf8%';
  +---------+---------------+--------------------+--------+
  | Charset | Description   | Default collation  | Maxlen |
  +---------+---------------+--------------------+--------+
  | utf8    | UTF-8 Unicode | utf8_general_ci    |      3 |
  | utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci |      4 |
  +---------+---------------+--------------------+--------+
  2 rows in set (0.00 sec)
  mysql> create database tangbo_utf8 default character set utf8 collate utf8_general_ci;
  Query OK, 1 row affected (0.00 sec)
  mysql>
  4.创建常用的utf8和gbk类型的数据库的命令
  mysql> create database tangbo_utf8 default character set utf8 collate utf8_general_ci;
  mysql> create database tangbo_gbk default character set gbk collate gbk_chinese_ci;
  5.问好程序员字符集后,可以在编译参数里添加,以后创建数据库后就不需要指定字符集了。
  -DDEFAULT_CHARSET=utf8 \
  -DDEFAULT_COLLATION=utf8_general_ci \
  -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
  或者
  -DDEFAULT_CHARSET=gbk \
  -DDEFAULT_COLLATION=gbk_chinese_ci \
  -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
  实战案例:
  (1)根据开发的程序确定字符集(建议utf8);
  (2)编译时候指定字符集,例如:
  -DDEFAULT_CHARSET=utf8 \
  -DDEFAULT_COLLATION=utf8_general_ci \
  或者
  -DDEFAULT_CHARSET=gbk \
  -DDEFAULT_COLLATION=gbk_chinese_ci \
  然后建库的时候默认创建即可;create database tangbo;
  (3)编译的时候没有指定字符集或指定了和程序不同的字符集,如何解决?
  创建库时指定字符集即可。
  mysql> create database tangbo_utf8 default character set utf8 collate utf8_general_ci;
  mysql> create database tangbo_gbk default character set gbk collate gbk_chinese_ci;
  ###################################################################################################
  ###################################################################################################
  三、显示-连接-删除等数据库的库管理应用讲解
  1.显示数据库
  命令:mysql> help show databases
  mysql> show databases;
  mysql> show databases like 'tangbo';
  +-------------------+
  | Database (tangbo) |
  +-------------------+
  | tangbo            |
  +-------------------+
  1 row in set (0.00 sec)
  mysql>
  2.删除数据库
  mysql> help drop database
  命令:DROP DATABASE db_name;
  mysql> drop database renchuan;
  Query OK, 0 rows affected (0.06 sec)
  mysql>
  mysql> show databases like 'renchuan';
  Empty set (0.00 sec)
  mysql>
  3.连接数据库
  mysql> help use
  USE db_name   如果数据库存在,就尝试进入数据库
  4.查看当前连接的数据库
  mysql> select database();
  +------------+
  | database() |
  +------------+
  | tangbo     |
  +------------+
  1 row in set (0.00 sec)
  mysql>
  5.当前数据库包含的表信息
  切到数据库里查看表
  mysql> show tables;
  +------------------+
  | Tables_in_tangbo |
  +------------------+
  | student          |
  +------------------+
  1 row in set (0.00 sec)
  mysql>
  mysql> show tables from tangbo;
  +------------------+
  | Tables_in_tangbo |
  +------------------+
  | student          |
  +------------------+
  1 row in set (0.00 sec)
  mysql>
  6.删除系统多余账号
  语法:mysql> help drop user
  DROP USER 'jeffrey'@'localhost';


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-624627-1-1.html 上篇帖子: PHP 连接MySQL数据库与SQL语句执行入门实例 下篇帖子: 解决no server suitable for synchronization found
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表