入门数据库教程详细Mysql(数据库关系语句语言全称)「数据库mysql基本语句」

#什么是数据用来描述事物的符号记录
可以是数字、文字、图形等,有多种形式,经过数字化之后存入计算机
#什么是数据库数据库(Database)就是一个用来存放数据库的仓库,是按照一定的数据结构来组织、存储的#什么是数据库管理系统是用于管理数据库的软件#数据库服务器、数据库管理系统、数据库、表、记录之间的关系#数据库服务器相当于一台计算机,数据库管理系统相当于计算机里的一个软件,数据库相当于一个文件夹,表相当于文件夹中的文件,记录相当于文件中的内容#数据库的种类  早期:分为层次式数据库、网络式数据库、关系型数据库  现今:分为关系型数据库和非关系型数据库#关系型数据库介绍  1.类似于excel表格  2.关系型数据库使用结构化语言查询,sql语句来对数据进行存储  3.代表作:mysql和Oracle#关系型数据库产品  1.Oracle  2.MySQL  3.mariaDB    是MySQL的一个分支,名称来自MySQL创始人Michael Widenius的女儿Maria的名字  4.SQL server    微软公司开发的大型关系型数据库系统, 只能在window系统下运行  5.Access数据库    入门级小型桌面数据库  6.其他:DB2等#非关系型数据库介绍  非关系型数据库也称为NoSQL数据库(Not Only SQL)  产生的背景:为了解决web2.0,web3.0时代高并发,高吞吐量的需求,产生了非关系型数据库  扩展:web2.0:指的是以用户为主体,上传文件发布博文等#种类  1.键值(key-value)存储数据库    典型产品:memcached、redis  2.列存储(column-oriented)数据库    典型产品:Cassandra,HBase  3.面向文档(Document-oriented)数据库    典型产品:MongoDB、CouchDB  4.图形(graph)数据库#常用非关系型数据库产品  1.Memcached    是一个开源的、支持高性能的分布式内存缓存系统  2.redis    基于key-value(键值)型的存储  3.MongoDB     是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统#MySQL概述 MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司#MySQL特点  1.安装简单  2.历史悠久,社区及用户活跃  3.支持多种操作系统  4.性能卓越,服务稳定  5.支持多种存储引擎#MySQL分类  MySQL采用双授权政策,分为社区版和商业版,然后又分为四个小版本:Alpha版、Beta版、RC版和GA版本#MySQL商业版和社区版区别  1.商业版比社区版稳定  2.商业版有技术支持等服务,社区版只能靠社区提供#MySQL版本#如:mysql-5.7.29.tar.gz#第一个数字5:主版本号#第二数字7:发行级别,与主版本组合构成发行序列号#第三个数字29:发行系列的版本号#查看版本mysql> select version();+-----------+| version() |+-----------+| 5.7.29 |+-----------+1 row in set (0.00 sec)#SQL语言介绍SQL,英文全称structured query language,中文意思为结构化语言查询,是一种对关系型数据库中的数据进行定义和操作的语言方法#SQL的分类一:数据查询语言(DQL) DQL全称data query language,称为数据检索语句,作用是从表中获得数据#例子:查看用户mysql> select user,host from mysql.user;+---------------+-----------------------+| user | host |+---------------+-----------------------+| root | localhost || test2 | 1.1.1.% || test | localhost |+---------------+-----------------------+4 rows in set (0.00 sec)二:数据操纵语言(DML)  DML全称data Manipulation language,其语句包括insert,update,delete,分别用于添加、修改和删除表中数据#例子:删除用户mysql> delete from mysql.user where user='test';Query OK, 1 row affected (0.02 sec)三:事务处理语言(TPL)  语句能够确保被DML语句影响的表的所有行及时得以更新四:数据控制语言(DCL)  DCL全称data control language,其语句通过grant或revoke获得许可五:数据定义语言(DDL)  DDL全称data definition language,其语句包括create和drop,在数据库中创建和删除库表六:指针控制语言(CCL)  CCL全称cursor control language,语句像declare cursor,fetch into和update where current用于对一个或多个表单独行的操作#安装MySQL#一.Linux安装#1.yum/rpm方式安装#2.常规方式编译安装#3.采用cmake方式编译安装#4.采用二进制方式免编译安装#下面使用rpm方式安装mysql.5.7wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpmrpm -qpl mysql57-community-release-el7-7.noarch.rpm #查看下载的rpm包rpm -ivh mysql57-community-release-el7-7.noarch.rpm #安装rpm包yum install mysql-community-server -y #安装mysql#提示:mysql5.7之后安装完会为root用户随机生成一个密码,如果使用rpm包,则使用grep "password" /var/log/myqld.log获取#1.安装完服务是没有启动,所以先要启动服务[root@db01 ~]#systemctl start mysqld #2.获取随机密码[root@db01 ~]# grep "password" /var/log/mysqld.log2019-05-31T02:35:57.106896Z 1 [Note] A temporary password is generated for root@localhost: 0Hl;Ir.keo!;mysql> select @@log_error;+---------------------+| @@log_error |+---------------------+| /var/log/mysqld.log |+---------------------+1 row in set (0.00 sec)#3.设置密码复杂度,也可以在/etc/my.cnf里面设置validate_password_policy=LOW mysql> set global validate_password_policy=LOW;Query OK, 0 rows affected (0.00 sec)#4.修改密码,或者使用update修改,用户管理篇会详解mysql> set password for root@localhost = password("guoke123");Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)#登录方法1.mysql #直接输入mysql不用密码登录2.mysql -uroot -p #标准的登录密码3.mysql -uroot -p"guoke123" #如果不在脚本中建议不要使用,明文易暴露#登录后提示符#默认为:mysql>,为了让更好的区分是哪个用户或主机登录,可以使用如下方法#1.临时更改mysql> prompt \u@mysql \r:\n:\s->PROMPT set to '\u@mysql \r:\n:\s->'root@mysql 09:56->#2.永久生效#进入/etc/my.cnf配置添加mysql模块,注意不是在[mysqld]里,如果在my.cnf配置文件中添加,可以使用\\避免转义带来的问题#1.配置mysql模块[root@cots3 ~]# vim /etc/my.cnf[mysql]prompt=\\u@mysql :\\d\\r:\\m:\\s->#2.重启服务[root@cots3 ~]# systemctl restart mysqld#3.登录查看[root@cots3 ~]# mysql -uroot -pEnter password: root@mysql :(none)09:13:44->use db; #进入库Database changedroot@mysql :db09:13:49-> #就会更改为db库#常用参数介绍# -u:用户名,-d:数据库名,\r:\m:\s 设置时间#prompt参数详解Option Description\c A counter that increments for each statement you issue每个语句递增的计数器\D The full current date当前的完整日期\d The default database默认数据库\h The server host服务器主机\l The current delimiter (new in 5.1.12)当前分隔符\m Minutes of the current time当前时间的分钟数\n A newline character换行符\O The current month in three-letter format (Jan, Feb, …)当前月份采用三字母格式\o The current month in numeric format数字格式的当前月份\P am/pm\p The current TCP/IP port or socket file当前的tcp/ip端口或套接字文件\R The current time, in 24-hour military time (0–23)当前时间,24小时军事时间(0-24)\r The current time, standard 12-hour time (1–12)当前时间,标准12小时制\S Semicolon分号\s Seconds of the current time当前时间的秒数\t A tab character标签字符\U www.jb51.netYour full user_name@host_name account name完整user_name@host_name 账户名称\u Your user name你的用户名\v The server version服务器版本\w The current day of the week in three-letter format (Mon, Tue, …)三个字母格式的星期几\Y The current year, four digits当年,四位数\y The current year, two digits当前年份,二位数\_ A space空间\ A space (a space follows the backslash)一个空格\' Single quote单引号\" Double quote双重报价\\ A literal “\” backslash character \\文字“\”反斜杠字符\xx, for any “x” not listed abovex,对于上面未列出的任何“x”
入门数据库教程详细Mysql(数据库关系语句语言全称)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息