数据库学习笔记-20170309

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

数据库语言:

DDL(Data Defination Language):

数据定义语言,主要用于定义数据库、表、视图、索引和触发器等。像DROP/CREATE/ALTER.


DML(Data Manipulation Language):

主要包括对数据的增删改查。INSERT插入数据、UPDATE更新数据、DELETE删除数据。


DQL(Data Query Language):

数据检索语句,用来从表中获取数据,确定数据怎么在应用程序中给出。像SELECT查询语句。


DCL(Data Control Language):

数据控制语言,主要用于控制用户访问的权限。像GRANT/REVOKE/COMMIT/ROLLBACK等语句。



--prompt 修改msql命令提示符,只对当前登录有效。


mysql --prompt meng

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


meng

meng

meng

mengshow schemas;


退出:(三选一都行)

\q

quit

exit



mysql>select version();  #查看当前版本


mysql>select user(); #查看当前的用户

+----------------+

| user()         |

+----------------+

| root@localhost |

+----------------+

1 row in set (0.00 sec)



mysql>select now();  #查看当前的时间

+---------------------+

| now()               |

+---------------------+

| 2017-03-07 22:05:43 |

+---------------------+

1 row in set (0.01 sec)



mysql语句规范:

1、关键字与函数名称全部大写;

2、数据库名称、表字段、字段名称等全部小写;

3、sql语句必须以分隔符结尾。

4、sql语句支持折行操作,只要不把单词、标记或者引号字符串分割为2部分。可以在下一行继续写。

5、数据库名称、表名称、字段名称等尽量不要使用mysql的保留字,如果需要使用的时候使用梵音好(``)将名称括起来。


\c #此命令不执行

mysql> select now()\c



delimiter (\d) Set statement delimiter.  #修改默认的分隔符,只对当前登录有效。

mysql> delimiter //

mysql> select now();

    -> //

+---------------------+

| now()               |

+---------------------+

| 2017-03-07 22:29:19 |

+---------------------+

1 row in set (0.00 sec)


mysql> select now()//

+---------------------+

| now()               |

+---------------------+

| 2017-03-07 22:29:29 |

+---------------------+

1 row in set (0.00 sec)


mysql> \q

Bye




#命令提示符修改

\h 主机

\D 日期

\d 数据库

\u 用户

mysql> prompt \h~\D~\d

PROMPT set to '\h~\D~\d'

localhost~Wed Mar  8 03:31:43 2017~(none)use zabbix

Database changed

localhost~Wed Mar  8 03:31:52 2017~zabbixshow tables;

Empty set (0.00 sec)


localhost~Wed Mar  8 03:32:01 2017~zabbix



数据库中引号:(引号需要成对出现,sql语句支持折叠)

mysql>select

    -> 

    -> now()'

    '> ';

+---------------------+

|                     |

+---------------------+

| 2017-03-08 03:53:24 |

+---------------------+

1 row in set, 1 warning (0.00 sec)


mysql>


#操作日志输出

mysql>\T /data/www/

mysql: Can't create/write to file '/data/www/' (Errcode: 21 - Is a directory)

Error logging to file '/data/www/'

mysql>\T /data/www/mysql1.txt

Logging to file '/data/www/mysql1.txt'

mysql>select now();

+---------------------+

| now()               |

+---------------------+

| 2017-03-08 04:04:48 |

+---------------------+

1 row in set (0.00 sec)


mysql>\t #结束操作日志输出

Outfile disabled.

mysql>\q

Bye

[root@localhost ~]# cat /data/www/mysql1.txt 

mysql>select now();

+---------------------+

| now()               |

+---------------------+

| 2017-03-08 04:04:48 |

+---------------------+

1 row in set (0.00 sec)


mysql>\t

[root@localhost ~]# 


#\w关闭警告 \W 开启警告

mysql> \w

Show warnings disabled.

mysql> \W

Show warnings enabled.

mysql> show warnings;

+-------+------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+

| Level | Code | Message                                                                                                                                                   |

+-------+------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+

| Error | 1064 | You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'warings' at line 1 |

+-------+------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)




#创建数据库,如果不存在则创建。

mysql> create schema if not exists test;

Query OK, 1 row affected, 1 warning (0.00 sec)


Note (Code 1007): Can't create database 'test'; database exists

mysql> 



#查看数据库的定义:

mysql> show create schema test2;

+----------+------------------------------------------------------------------+

| Database | Create Database                                                  |

+----------+------------------------------------------------------------------+

| test2    | CREATE DATABASE `test2` /*!40100 DEFAULT CHARACTER SET latin1 */ |

+----------+------------------------------------------------------------------+

1 row in set (0.00 sec)




#修改指定数据库字符集编码:

mysql> alter schema test2 default character set utf8;

Query OK, 1 row affected (0.00 sec)


mysql> alter schema test2 default character set gbk;

Query OK, 1 row affected (0.00 sec)



#查看指定数据库创建信息:

mysql> show create schema test2;

+----------+---------------------------------------------------------------+

| Database | Create Database                                               |

+----------+---------------------------------------------------------------+

| test2    | CREATE DATABASE `test2` /*!40100 DEFAULT CHARACTER SET gbk */ |

+----------+---------------------------------------------------------------+

1 row in set (0.00 sec)



#查看当前所在的数据库:

mysql> select  database();

+------------+

| database() |

+------------+

| test       |

+------------+

1 row in set (0.00 sec)


mysql> status;

--------------

mysql  Ver 14.14 Distrib 5.6.29, for linux-glibc2.5 (x86_64) using  EditLine wrapper


Connection id: 13

Current database: test

Current user: root@localhost

SSL: Not in use

Current pager: stdout

Using outfile: ''

Using delimiter: ;

Server version: 5.6.29 MySQL Community Server (GPL)

Protocol version: 10

Connection: Localhost via UNIX socket

Server characterset: latin1

Db     characterset: latin1

Client characterset: utf8

Conn.  characterset: utf8

UNIX socket: /tmp/mysql.sock

Uptime: 1 day 7 hours 40 min 4 sec


Threads: 1  Questions: 107  Slow queries: 0  Opens: 67  Flush tables: 1  Open tables: 60  Queries per second avg: 0.000

--------------


#删除指定数据库

mysql> drop schema test2;

Query OK, 0 rows affected (0.03 sec)


mysql> show schemas;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

| zabbix             |

+--------------------+

5 rows in set (0.00 sec)




本文转自青衫解衣 51CTO博客,原文链接:http://blog.51cto.com/215687833/1904653

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 关系型数据库 MySQL
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
236 0
|
关系型数据库 MySQL 数据库
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
421 0
|
11月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
294 6
|
11月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
207 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
12月前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
141 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
536 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
88 6
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
378 4
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(中)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
100 3

热门文章

最新文章