设为首页 收藏本站
查看: 863|回复: 1

[经验分享] MYSQL服务之SQL语句应用 (一)

[复制链接]

尚未签到

发表于 2018-9-28 14:22:45 | 显示全部楼层 |阅读模式
  一、SQL语句的语言特点
1.一体化:SQL集数据定义DDL、数据操纵DML和数据控制DCL于一体,可以完成数据库中的全部工作。2.使用方式灵活:它具有两种使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主语言中使用。3.非过程化:只提操作要求,不必描述操作步骤,也不需要导航。使用时只需要告诉计算机“做什么”,而不需要告诉它“怎么做”。4.语言简洁,语法简单,好学好用:在ANSI标准中,只包含了94个英文单词,核心功能只用6个动词,语法接近英语口语。  二、SQL语句的语句结构
  1、数据定义语言(DDL) : Data Defination Language;
  用来定义数据对象的,包含CREATE(增)、DROP(删)、ALTER(改)语句。
  2、数据操作语言(DML):Data Manapulation Language;
  此语句主要是操作数据而不是操作对象,包含INSERT(插入), DELETE(删除), UPDATE(更新)语句。
  3、数据查询语言(DQL): Data Query Language;
  数据检索语句,以从表中获取相关数据信息,SELECT(查询)语句。
  4、数据控制语言(DCL): Data Control Language
  用于对用户的授权管理的语句,包含GRANT(授权), REVOKE(收回权限)语句。
  三、SQL语句中的数据类型
  1、字符型 ,以字符格式存储
CHAR(n) : 定长字符  
VARCHAR(n) :可变长字符
  
BINARY(n) :二进制字符
  
VARBINARY(n) :可变长二进制字符
  
TEXT :文本型数据
  
BLOB :二进制大对象
  修饰符:NOT NULL , DEFAULT ' '
  2、数值型 ,以数值格式存储
  1)、精确数值型
  ① 整型数据
TINYINT: 1byte, -128, 127    0,255  微整形  
SMALLINIT: 2bytes, -32768, 32767   0,65535  小整形
  
MEDIUMINT: 3bytes, 0,2^24  中整形
  
INT: 4bytes, 0,2^32  整型
  
BIGINT: 8bytes, 0,2^64  大整型
  修饰符:NOT NULL, DEFAULT '', UNSIGNED, AUTO_INCREMENT
  ② 浮点型数据
FLOAT  单精度  
DOUBLE  双精度
  
REAL
  修饰符:NOT NULL, DEFAULT ' '
  3、日期时间型
DATE  
TIME
  
DATETIME
  
YEAR(2), YEAR(4)
  
TIMESTAMP
  修饰符:NOT NULL, DEFAULT ' '
  4、布尔型 ,1为真,0为假
  5、内置类型
ENUM, SET  修饰符:NOT NULL, DEFAULT ' '
  四、mysql客户端常用的命令
  不用分号结尾
  1、quit | \q :退出mysql;
  2、delimier | \d : 如何改变语句结束符;
  3、go | \g : 无论结束符是什么都送到服务器端;
  4、use | \u : 设定默认数据库;
  5、ego | \G : 结果取回,纵向显示;
  6、system | \! : 执行系统命令而不用退出当前mysql
  五、mysql服务端的相关命令
  必须使用分号结尾
  1、 显示服务器参数变量,有些变量的值可以修改,能够改变mysql的工作特性,
  有些可以动态调整,即刻生效;另外一些只能修改配置文件后,重启生效;
mysql> show [global|session] variables;
DSC0000.png

  2、显示服务器状态变量,记录了当前包括过去的时间内mysql的运行统计数据。
mysql> show [global|session] status;
DSC0001.png

  3、显示所支持的所有字符集;
mysql> SHOW CHARACTER SET;
DSC0002.png

  4、显示所有字符集的排序规则
mysql> SHOW COLLATION;
DSC0003.png

  5、显示当前mysql版本号
mysql> SELECT VERSION();  6、显示有权限访问的所有数据库
mysql> SHOW DATABASES;
DSC0004.png

  7、显示默认数据库
mysql> SELECT DATABASE();  8、创建名为DB_NAME的数据库
mysql> CREATE DATABASE DB_NAME;
DSC0005.png

  9、删除名为DB_NAME的数据库
mysql> DROP DATABASE DB_NAME;
DSC0006.png

  六、mysql的执行方式
  1、交互式方式
  ① -h | --host : 远程连接主机
  ② -u | --user : 指定用户
  ③ -p | --password :输入密码
  ④ -D | --database : 登录之后,直接设定默认库
  ⑤ -e 'SQL_Statement;' : 不用登录而是连接后,输入命令,直接取回结果
  2、批处理方式
  使用sql脚本
mysql OPTIONS < script.sql  
mysql> source /path/to/script.sql
  七、用户管理
  1、创建用户
mysql>CREATE USER username@host [IDENTIFIED BY 'password'];  2、用户或主机可以使用通配符
  %:匹配任意长度的任意字符
  _: 匹配任意单个字符
  3、用户授权
mysql>GRANT ALL PRIVILEGES ON dbname.tablename TO username@host [IDENTIFIED BY 'password'];  4、修改用户密码
mysql> SET PASSWORD FOR username@host=PASSWORD('password');  5、删除用户
mysql>DROP USER username@host;  八、关系数据型数据库
  1、主键 primary key
  不能为空,不能重复,惟一;
  2、惟一键 uniq key
  可以为空,惟一;
  3、外键  foreign key
  引用性约束
  4、检查性约束
  九、表管理
  1、创建表
mysql>CREATE TABLE tb_name (col1 defination, col2 defination, ..., key defination);  2、删除表
mysql>DROP TABLE tb_name;  十、SELECT语句用法
  mysql> SELECT 字段 FROM 表 WHERE;
  1、比较运算:>,=, INSERT INTO 表 字段 VALUES;  2、UPDATE 更新语句用法
mysql> UPDATE 表名 SET 字段名=值 WHERE;  3、DELETE 删除语句用法
mysql> DELETE FROM 表名 WHERE 条件  实战案例
  MySQL基础操作练习(所属的库叫做mytestdb):
  1、新建如下表(包括结构和内容):
  ID    Name          Age     Gender     Course
  1     Ling Huchong   24      Male       Hamogong
  2     Huang Rong    19      Female     Chilian Shenzhang
  3     Lu Wushaung   18      Female     Jiuyang Shenggong
  4     Zhu Ziliu     52      Male       Pixie Jianfa
  5     Chen Jialuo   22      Male       Xianglong Shiba Zhang
DSC0007.png

DSC0008.png

DSC0009.png

  完成如下操作
  (1)找出性别为女性的所有人;
DSC00010.png

  (2)找出年龄大于20的所有人;
DSC00011.png

  (3)修改Zhu Ziliu的Course为Kuihua Baodian;
DSC00012.png

  (4)删除年龄小于等于19岁的所有人;
DSC00013.png

  (5)创建此表及所属的库;
  (6)授权给testuser对testdb库有所有访问权限;
mysql> CREATE DATABASE mytestdb  
use mytestdb
  
myaql> CREATE TABLE students (ID TINYINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
  
Name CHAR(30) NOT NULL UNIQUE KEY,
  
Age TINYINT UNSIGNED, Gender CHAR(1) DEFAULT 'M',
  
Course VARCHAR(50) NOT NULL);
  
mysql> INSERT  students (Name,Age,Gender,Course)VALUES('Ling Huchong',24,'M','Hamogong'),
  
('Huang Rong',19,'F','Chilian Shenzhang'),
  
('Lu Wushuang',18,'F','Jiuying Shengong'),
  
('Zhu Ziliu',52,'M','Pixie Jianfa'),
  
('Chen Jialuo',22,'M','Xianglong Shiba Zhang');
  
mysql> SELECT name FROM students WHERE Gender='Female';
  
mysql> SELECT name FROM students WHERE Age>20;
  
mysql> UPDATE students SET Course='Kuihua Baodian' WHERE name='Zhu Ziliu';
  
mysql> DELETE FROM students WHERE Age GRANT ALL ON testdb.* TO 'testuser'@'%';



运维网声明 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-603402-1-1.html 上篇帖子: 【原创】MySQL和PostgreSQL 导入数据对比 下篇帖子: Mysql 慢日志分析工具Mysqldumpslow
累计签到:1 天
连续签到:1 天
发表于 2018-9-28 19:12:29 | 显示全部楼层
大撒大撒大撒大撒大撒大撒大撒大撒大苏打

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

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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