MySQL 数据库的基本使用

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,而MySQL AB 公司被 Oracle 公司收购,故 MySQL 现在属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL 是开源的,所以你可以免费使用它。
MySQL 支持大型的数据库,可以处理拥有上千万条记录的大型数据库。但是根据实际生产经验,当单表的数据量达到三千万之后,数据库性能急剧下降,甚至整个数据库都瘫痪了,登录不上。
MySQL 使用标准的 SQL 数据语言形式,结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
MySQL 安装好了之后,就可以登录使用了。最主要就是使用 SQL 进行增删改查的操作。

1、查看数据库
\ # mysql -u root -p‘[email protected]‘

mysql> show databases;

2、切换数据库
mysql> use mysql;

注意:
1:information_schema # 这个数据库保存了 MySQL 服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型不访问权限等。
2:performance_schema # MySQL 5.5开始新增一个数据库:PERFORMANCE_SCHEMA,主要用于收集数据库服务器性能参数。并且库里表的存储引擎均为 PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为 PERFORMANCE_SCHEMA 的表。
3:mysql 库是系统库,里面保存有账户信息,权限信息等。
4:mysql5.7 增加了sys 系统数据库,通过这个库可以快速的了解系统的元数据信息。元数据是关于数据信息的数据,如数据库名或表名,列的数据类型,或访问权限等。

3、创建数据库
语法:create database 数据库名;

创建数据库注意事项:
1、在文件系统中,MySQL 的数据存储区将以目录方式表示 MySQL 数据库。因此,上面命令中的数据库名字必须与操作系统的约束的目录名字一致。例如不允许文件和目录名中有 \,/,:,*,?,”,<,>,| 这些符号,在 MySQL 数据库名字中这些字母会被自动删除。<遵从目录的约束>
2、数据库的名字不能超过64个字符,包含特殊字符的名字或者是全部由数字或保留字组成的名字必须用反引号``包起来。
3、数据库不能重名。

mysql> create databases ‘YF-test‘; # 使用单引号,建库失败
mysql> create databases YF-test; # 使用反引号,建库成功

\ # ls /var/lib/mysql/ #查看数据库存放目录

4、查看自己所处的位置及默认所在的位置

mysql> select database();
+------------+
| database() |
+------------+
| NULL |
+------------+
1 row in set (0.00 sec)

如果什么数据库也没有选择,默认显示的是NULL,Null意味着没有选择数据库

mysql> use mysql;
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| mysql |
+------------+
1 row in set (0.00 sec)

5、删除数据库
删除数据库没有任何提示,要慎重操作;最好操作的时候,旁边有人看着你操作。
方法1:mysql> drop database create;
方法2:直接到数据库存放目录移出就行。

6、查看库有哪些表,查看表,要进入到数据库再查看

7、创建表:
语法:create table 表名 (字段名 类型, 字段名 类型, 字段名 类型);
mysql> create database test;
mysql> use test;
mysql> create table student(id int(20),name char(40),age int);

8、查看表的结构

9、删除表
mysql> drop table student;

10、修改表名称alter
语法:alter table 表名 rename 新表名;

11、修改表中的字段类型
语法:alter table 表名 modify 要修改的字段名 要修改的类型;
mysql> alter table students modify id int(10);

12、修改表中的字段类型和字段名称
语法:alter table 表名 change 原字段名 新字段名 新字段类型;
注意:mysql 不支持同时修改多个字段,
MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]

注:CHANGE 和MODIFY的区别:
CHANGE 对列进行重命名和更改列的类型,需给定旧的列名称和新的列名称、当前的类型。MODIFY 可以改变列的类型,此时不需要重命名(不需给定新的列名称)。

13、在表中添加字段
语法:alter table 表名 add 字段名 字段类型;
mysql> alter table students add sex enum(‘M‘,‘W‘);

14、指定位置添加字段,在第一列添加一个字段
mysql> alter table students add uid int(10) first;

mysql> alter table students add address char(40) after age;

15、删除表中字段:
语法:alter table 表名 drop 字段名 ;
mysql> alter table students drop address;

16、插入字段<记录>insert
语法:insert into 表名values (字段值1,字段值2, 字段值3);
mysql> create table student(id int(20),name char(40),age int);
mysql> insert into student values(1,‘zhangs‘,21);

插入记录时要对应相对的类型
mysql> insert into student values(2,‘lis‘,24),(3,‘wange‘,26);

同时插入多条,使用,分开
mysql> insert into student (id,name)values(4,‘hangl‘);

17、查询表中记录:
语法:select from 表名称;
mysql> select
from student; # *表示所有

当字段比较多的时候我们也可以使用\G
mysql> select * from student\G

只查询表中某个字段的内容:
mysql> select name from student;

18、查看别的数据库的表或者不在本数据库上进行查看
语法:SELECT 字段 FROM 数据库名.表名;
mysql> select *from HA.student;
# 查看某个数据库下指定的表内容,数据库名.表名

19、删除记录
删除id为3的行
mysql> delete from students where id=3;

删除age为空的行
mysql> delete from students where age is null;

20、更新记录
mysql> update students set sex=‘M‘ where id=2;
mysql> update students set id=2; # 所有的都变为2
mysql> update students set stname=‘zhangsan‘,age=21 where uid=1;
# 同时更新多个字段时候用,逗号隔开

21、SQL基础条件查询语句
语法:select 字段名1,字段名2 from 表名 [where 条件];

(1)查询students表中的name,age
mysql> select name,age from student;

(2)去重复查询distinct
mysql> select distinct name,age from student;
mysql> select distinct id,name,age from student where id=3;

mysql> select distinct from students; # mysql的distinct可以对使用

(3)使用and和or进行多条件查询
or和and 同时存在时,先算and的两边值,逻辑与先执行
mysql> select id,name,age from student where id>3 and age>25;
mysql> select id,name,age from student where id>3 or age>25;

mysql> select * from students where stname=‘zhangsan‘ and (age=21 or age=24);
注意and和or都是用的时候的逻辑关系

(4)MySQL区分大小写查询
MySQL查询默认是不区分大小写的,对比如下:
mysql> select name from student where name=‘jk‘;
mysql> select * from student where binary name=‘jk‘;
\ # BINARY是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写。

(5)MySQL查询排序:
语法:select distinct 字段1,字段2 from 表名order by 字段名;
默认为升序 asc
mysql> select distinct id from student order by id asc;
mysql> select distinct id from student order by id desc;

欢迎大家关注微信公众号,一起学习交流!

我的公众号!

https://mp.weixin.qq.com/s/KqlrX13DSQdZb3BVT2dqfA

原文地址:https://blog.51cto.com/12489635/2455211

时间: 2024-10-14 06:19:02

MySQL 数据库的基本使用的相关文章

Linux环境下MySQL数据库用SQL语句插入中文显示 “问号或者乱码 ” 问题解决!

问题: 在普通用户权限下执行 mysql -u root -p进入mysql数据库,中间步骤省略,插入数据:insert into 库名(属性)values('汉字'); 会出现如下提示:  Query OK, 1 row affected, 1 warning (0.00 sec)    表明出现错误,没有插入成功,然后执行select * from 表名   就会出现如下的问题:显示的表中出现乱码或者问号. 如图: 解决方案: 首先重新打开一个终端窗口(方便操作),进入root用户模式 执行

MySQL数据库基础知识

day02 MySQL数据库基础知识 一.基础知识概述: 基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如.才能够对数据库有更深入的了解,道路才会越走越远. 二.基础知识: 1.数据库(database):数据库就好比是一个物理的文档柜,一个容器,把我们整理好的数据表等等归纳起来. 创建数据库命令:        create database 数据库名; 2.查看数据库         show databases; 3.打开指定的数据库         use 

Linux环境下启动MySQL数据库出现找不到mysqld.sock的解决办法!

问题: 在普通用户权限下运行:mysql -u root -p,回车之后如果会出现如下错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 此错误的意思就是没有找到mysqld.sock文件. 解决办法: 首先进入超级用户root权限  sudo -i 或者su - root 切换到默认目录 cd /var/lib/mysql  下查看

MySQL数据库

day01 MySQL数据库及数据类型 一.MySQL概述: MySQL数据库是一个关系型数据库,是目前流行的开源代码数据库,是完全网络化的跨平台的关系型数据库系统,MySQL数据库同时也是目前市场上得到广泛运用的和安装使用的,可以称的上是目前运行速度最快的sql语言数据库,主要的优势和特点有一下几点: 1.成本---MySQL数据库是开源代码的,一般是免费使用. 2.性能---MySQL数据库执行速度快 3.可信赖---某些大型的公司和企业单位以及网站都是使用MySQL数据库. 4.简单---

MySQL数据库中的算术运算符

MySQL数据库中的算数运算符 MySQL数据库中的算术运算符 一.运算符的概述: 运算符在MySQL数据库中也是很重要的知识体,在执行sql语句的时候这个运算符对操作数据帮助很大.其中运算符的运用可以帮助你减省大量的时间,操作起来也比较灵活. 二.运算符 运算符主要包括"算数运算符"."比较运算符"."罗运算符"."位运算符"四大类,下面我们就一次学习一下. 1.算术运算符 算术运算符在sql语句的时候经常使用,例如对表的字

MySQL数据库自学

MySQL数据库自学序言 亲爱的自己和各位读者朋友: 您们好! 这是作者本人自学Java编程开发的一系列文章,不具有一定的权威性,也算是自己一个人的学习笔记和总结,希望自己通过博客的形式将我自己的学习效率得到提高.如自学的稳重存在不足或错误的地方希望广大的博客朋友们多多指教.本人在此不胜感激!  天下数据库同属一家,可以说是兄弟关系.学习MySQL数据库可以说是一件很有趣的学习过程,就目前市场上对MySQL数据库的程序员需求量比较大.当你自己应聘一份工作的时候,MySQL数据库的技术技能是你必须

利用PHP实现登录与注册功能以及使用PHP读取mysql数据库——以表格形式显示数据

登录界面 <body><form action="login1.php" method="post"><div>用户名:<input type="text" name="uid" /></div><br /><div>密码:<input type="password" name="pwd" />

Mysql数据库理论基础之五--SELECT单多表查询、子查询、别名

一.简介 由MySQL AB公司开发,是最流行的开放源码SQL数据库管理系统,主要特点: 1.是一种数据库管理系统 2.是一种关联数据库管理系统 3.是一种开放源码软件,且有大量可用的共享MySQL软件 4.MySQL数据库服务器具有快速.可靠和易于使用的特点 5.MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中 InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建.这样,表的大小就能超过单独文件的最大容量.表空间可包括原始磁盘分区,从而使得很大的表成为可能

Mysql数据库性能优化(一)

参考 http://www.jb51.net/article/82254.htm 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库. mysql的性能优化无法一蹴而就,必须一步一步慢慢来,从各个方面

Java基础知识—发送Emai和访问MySQL数据库(七)

概述 Java程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF) .Java访问数据则需要 使用JDBC 连接 MySQL 数据库.JDBC起到数据库驱动作用. E-Mail的发送 第三方包的下载地址方式,加载之后在对应的项目中导入该库文件. 访问 JavaMail 官网下载最新Jar文件: 访问 JAF(版本 1.1.1)官网下载最新JAR文件: 以下是下载之后,编写测试代码,能够借助网易