本篇Himi简单介绍一些MySQL数据库的基础操作;

注:mysql 语句对大小写不敏感,语句以分号“;”标识语句结束;

1.   首先使用两个简单的查询语句;

查询当前版本:select version();

查询当前日期:select current_date;

查询当前时间:select now();

两句合并: select version() , current_date , now();

显示结果如下:

mysql> select version() , current_date , now();

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

| version() | current_date | now()               |

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

| 5.5.23    | 2012-04-17   | 2012-04-17 14:34:53 |

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

1 row in set (0.00 sec)

2.  SQL语句可分多行来写:

mysql> select version(),

-> current_date,

-> now(),

-> user();

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

| version() | current_date | now()               | user()         |

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

| 5.5.23    | 2012-04-17   | 2012-04-17 14:38:42 | root@localhost |

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

1 row in set (0.00 sec)

3. 使用查询语句来作为计算器,让mysql 为我们计算结果,如下:

mysql> select 1*1,2*2,3*3;

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

| 1*1 | 2*2 | 3*3 |

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

|   1 |   4 |   9 |

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

1 row in set (0.00 sec)

4. 使用 \c 取消SQL语句的输入;先看下MySQL的一些提示符:

提示符

含义

mysql>

准备好接受新命令。

->

等待多行命令的下一行。

‘>

等待下一行,等待以单引号(“’”)开始的字符串的结束。

“>

等待下一行,等待以双引号(“””)开始的字符串的结束。

`>

等待下一行,等待以反斜点(‘`’)开始的识别符的结束。

/*>

等待下一行,等待以/*开始的注释的结束。

输入\c以后,它切换回到mysql>,提供反馈以表明mysql准备接受一个新命令。

4. 创建使用数据库:

4.1   查询当前已存在的数据库:

mysql> show databases;

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| test               |

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

4 rows in set (0.17 sec)

4.2  使用已有的数据库;例如使用已存在的 test 数据库;

mysql> use testDatabase changed

4.3   假设你在test 该数据库创建的任何东西可以被访问它的其它人删除,因此,你应该询问MySQL管理员许可你使用自己的一个数据库。假定你想要调用你的menagerie,管理员需要执行这样一条命令:

mysql> GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';

这里your_mysql_name是分配给你的MySQL用户名,your_client_host是所连接的服务器所在的主机。

4.4    创建并选择新的数据库;

mysql> create database himiDB

-> ;

Query OK, 1 row affected (0.06 sec)

mysql> use himidb

Database changed

mysql>

5. 创建使用表;

5.1     新创建的数据库中是没有任何表的,如上面我新建的himiDB,如下我使用 show tables; 显示:

mysql> show databases

-> ;

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

| Database           |

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

| information_schema |

| himiDB             |

| mysql              |

| performance_schema |

| test               |

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

5 rows in set (0.00 sec)

mysql> use himidb

Database changed

mysql> show tables

-> ;

Empty set (0.00 sec)

而关于表的创建比较麻烦,需要设计,较难的部分是决定你的数据库结构应该是什么:你需要什么数据库表,各数据库表中有什么样的列。你将需要一个包含你每个宠物的记录的表。它可称为pet表,并且它应该包含,最少,每个动物的名字。因为名字本身不是很有趣,表应该包含另外的信息。例如,如果在你豢养宠物的家庭有超过一个人,你可能想要列出每个动物的主人。你可能也想要记录例如种类和性别的一些基本的描述信息。

年龄呢?那可能有趣,但是存储到一个数据库中不是一件好事情。年龄随着时间流逝而变化,这意味着你将要不断地更新你的记录。相反, 存储一个固定值例如生日比较好,那么,无论何时你需要年龄,可以以当前日期和出生日期之间的差来计算它。MySQL提供了日期运算函数,因此这并不困难。存储出生日期而非年龄还有其它优点:·         你可以使用数据库完成这样的任务,例如生成即将到来的宠物生日的提示。(如果你认为这类查询有点蠢,注意,这与从商务数据库来识别出不久要发给生日祝贺的客户是同一个问题,因为计算机帮助私人联络。)·         你可以相对于日期而不止是当前日期来计算年龄。例如,如果你在数据库存储死亡日期,你能很容易地计算出一只宠物死时有多大。

这里假设我们创建一个people 的表,其中包含人的  名字、名族(h/m 来表示汉族/满族)、城市,性别(m/w man/woman)、出生和死亡日期。

mysql> create table people (

-> name varchar(20),

-> mz varchar(1),

-> city varchar(10),

-> sex varchar(1),

-> birthday varchar(20),

-> deathday varchar(20));

Query OK, 0 rows affected (0.37 sec)

创建表规则:  create table xx(table Name) ( item的名字  item的类型  );

这里 varchar 字符,varchar()小括号内的表示字符大小,根据情况自己定义,范围是:1到65535的任何长度(如果选择得不合适,后来证明你需要一个更长的字段,MySQL提供一个ALTER TABLE语句。)

OK,我们来查看这个新创建的表中的类目(具体每个记录的查看使用 select *from 语句):

mysql> show tables;

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

| Tables_in_himidb |

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

| people           |

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

1 row in set (0.00 sec)

mysql> describe people;

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

| Field    | Type        | Null | Key | Default | Extra |

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

| name     | varchar(20) | YES  |     | NULL    |       |

| mz       | varchar(1)  | YES  |     | NULL    |       |

| city     | varchar(10) | YES  |     | NULL    |       |

| sex      | varchar(1)  | YES  |     | NULL    |       |

| birthday | varchar(20) | YES  |     | NULL    |       |

| deathday | varchar(20) | YES  |     | NULL    |       |

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

6 rows in set (0.14 sec)

5.2  往表中插入数据:

5.2.1. 第一种使用读取本地txt插入到表中,txt的每个value之间以tab空开,然后采用如下语句插入:

load data local infile ‘xxx路径’ into table people;

如下:

mysql> load data local infile'/Users/Himi/Desktop/people.txt'into table people;

Query OK, 1 row affected (0.08 sec)

Records: 1  Deleted: 0  Skipped: 0  Warnings: 0

mysql> SELECT * FROM people;

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

| name | mz   | city    | sex  | birthday  | deathday |

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

| himi | h    | beijing | m    | 1989-9-23 | NULL     |

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

1 row in set (0.03 sec)

OK,没有问题,txt每一行对应表单的每一行,如果需要插入多行可以直接回车就OK啦。

注意:

mysql> LOAD DATA LOCAL INFILE ‘/path/people.txt’ INTO TABLE people;

请注意如果用Windows中的编辑器(使用\r\n做为行的结束符)创建文件,应使用:

mysql> LOAD DATA LOCAL INFILE ‘/path/people.txt’ INTO TABLE people    -> LINES TERMINATED BY ‘\r\n’;

(在运行OS X的Apple机上,应使用行结束符’\r’。)

如果你愿意,你也能明确地在LOAD DATA语句中指出列值的分隔符和行尾标记,但是默认标记是定位符和换行符。

5.2.2.  使用INSERT语句手动直接插入

mysql> insert into people

-> values('insertHimi','h','Anhui','m','1989-9-23',NULL);

Query OK, 1 row affected (0.10 sec)

mysql> select *from people;

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

| name       | mz   | city    | sex  | birthday  | deathday |

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

| himi       | h    | beijing | m    | 1989-9-23 | NULL     |

| himi       | h    | beijing | m    | 1989-9-23 | NULL     |

| himi3      | h    | beijing | m    | 1989-9-23 | NULL     |

| insertHimi | h    | Anhui   | m    | 1989-9-23 | NULL     |

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

4 rows in set (0.01 sec)

MySQL数据库test连接语句_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!...相关推荐

  1. 正确加载MySQL驱动的语句_使用数据库客户端工具Oracle SQL Developer加载第三方驱动连接mysql的方法...

    用Oracle SQL Developer时遇到no ocijdbc11 in java.library.path怎么办 不是配置环境变量,而是去选项里面,添加数据库的驱动 jdbc的驱动没有在cla ...

  2. 阿里云mysql数据库远程连接测试_远程连接阿里云MySQL数据库

    阿里云最近搞活动,学生价10块一个月,于是乎找研究僧同学买了半年玩玩. 正常情况下买了服务器之后还要买数据库,但是我只是用来做测试,所以没必要再买几十块一个月的买数据库. 服务器我买的是市场镜像并且已 ...

  3. mysql查看当前数据库的连接信息_查看 mysql 数据库当前连接数

    命令:mysql> show processlist; 或者 # mysqladmin -uroot -p密码 processlist 如果是root帐号,你能看到所有用户的当前连接.如果是其它 ...

  4. mysql数据库时间不准确_主数据库(mysql)的时间不对

    今天早上领导通知我讲主数据库的时间不对,Linux的系统时间是对的.怎么回事???难道是我以前更改了系统时间造成??怎么解决呢? 在mysql手册中有下面这段话: 5.10.8. MySQL服务器时区 ...

  5. mysql rpo是什么意思_揭开数据库RPO等于0的秘密(上)

    前言 传统商业关系数据库都声称可以做到故障恢复后不丢数据(即RPO为0),跟故障前的数据状态是强一致的,实际是否一定如此? 开源数据库MySQL在金融核心业务都不敢用,最重要的一个原因是做不到不丢数据 ...

  6. mysql数据库英文句子翻译_【数据库知识】MySQL英文文档翻译

    引言 最近加入了一个MySQL的开源组织,旨在将MySQL的英文官网文档翻译成中文,下面的内容为我负责的部分,因水平有限,在翻译过程中难免有纰漏,还请读者多多指教. 原文 17.1 Replicati ...

  7. mysql微服务查询问题_微服务架构下,Mysql读写分离后,数据库CPU飙升卡壳问题解析...

    前言 最近系统(基于SpringCloud+K8s)上线,运维团队早上8点左右在群里反馈,系统登录无反应!我的第一反应是Mysql数据库扛不住了. 排查问题也是一波三折,有网络问题,也有mysql读写 ...

  8. MySQL数据库课程实验报告_创建数据库并插入数据

    1.1 进入数据库 $ sudo service mysql start $ mysql -u root 2.1 创建数据库 create database mysql_shiyan; 创建后查看数据 ...

  9. mysql 联查字段名重复_查询数据库多个字段名时的结果有重复的解决办法_MySQL

    bitsCN.com 查询数据库多个字段名时的结果有重复的解决办法 查询数据库的结果有重复,怎么办? 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关 ...

  10. mysql删库命令是啥_删除数据库的命令是什么

    删除数据库的命令是什么? 当数据库不再使用时应该将其删除,以确保数据库存储空间中存放的是有效数据.删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除. 在 My ...

最新文章

  1. 【BZOJ】3301: [USACO2011 Feb] Cow Line(康托展开)
  2. 线程间通信的两种方式
  3. MVC中的ActionResult
  4. Oracle入门(三)之连接与登录
  5. STM32CubeMx官网下载HAL库文档资料
  6. 第四节:教你如何快速让浏览器兼容ES6特性
  7. 助力 Android 抗衡 iOS,华为发布方舟编译器!
  8. JavaScript 怎么合并两个JSON,并覆盖重复键
  9. history模式 nginx配置_Vue history模式Nginx配置
  10. web前端(八)——ajax与jsonp
  11. 如何去掉Eclipse里面自动追加的一些注释!!!内详
  12. ap6212linux驱动下载,AP6212各个版本固件
  13. 地理信息系统实习教程 第26章 地图注记
  14. mysql 怎样更新数据库_MySQL数据库更新语句update使用详解
  15. Kerberos安装及使用2(Kerberos服务器KDC安装及配置)
  16. SNF开发平台WinForm之六-上传下载组件使用-SNF快速开发平台3.3-Spring.Net.Framework
  17. 中国大学mooc慕课python答案_中国大学mooc慕课_Python游戏开发入门_章节测试答案...
  18. python去除字符串中表情字符
  19. word批量导入试题,一键组卷,单机软件题库管家迎来1.2版本
  20. Matlab中的参数解析

热门文章

  1. go的打包依赖构建工具-dep
  2. nodejs-7. mongoDB数据库
  3. 异构GoldenGate 12c 双向复制配置
  4. 带边框有点击事件的表格
  5. android工程混淆和反编译
  6. buffer busy waits等待事件的原因:hot block [转]
  7. redis python zset
  8. xpath定位元素方法_测试数十次,总结了APP元素定位的万能方法
  9. java基础知识点_「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !
  10. 使用Python PIL库实现简单验证码的去噪处理