MySQL基本操作:数据库的创建、查询、更新、插入、删除表格

MySQL体积小、响应速度快、成本低,是时下最流行的关系型数据库管理系统之一,受到众多用户的追捧和喜爱。本文对MySQL的基本操作,如创建数据库、创建表格、查询、删除进行简单的总结。

0 基本命令汇集

操作、命令 语法
启动MySQL服务器 net start mysql服务器名
登录mysql用户 mysql -u root -p Enter password:
查询数据库 show databases;
创建数据库 create database 数据库名;
删除数据库 drop database 数据库名;
创建数据库用户 grant all privileges on mydb. * to user@localhost indentified by '12345';
使用数据库 use 数据库名;
查看当前数据库 select database();
创建表格 create table 表名(属性1名 数据类型 ,属性2名 数据类型2);
查看表格 show tables;
查看表格详情 desc 表名
删除表格 drop 表名
插入记录 insert into 表名(列名1,列名2...) values(值1,值2...);
查询记录 select 列名1,列名2... from 表名 [where/order by...]
更新记录 update 表名 set 列名1='值1',列名2='值2' where exep
删除记录 delete from 表名 where exep
连接 SELECT COL1... FROM TABLE1 INNER JOIN TABEL2 ON TABLE1.FOREIGHKEY=TABLE2.PRIMARYKEY [WHERE/ORDER BY]

1 启动

(1)启动cmd命令提示符
两种方式可以启动cmd,第一种是在在所有程序找到命令提示符,搜索框输入命令提示符,点击进入。第二种方法是快捷键“Ctrl+R”输入“CMD”。


得到如下图的命令提示符的shell就可以开始了:
这里写图片描述
(2)启动 MySQL 服务器

net start mysql57

其中,mysql57是我的MySQL服务器名。
这里写图片描述
(3)登录MySQL账户
输入用户名和密码:

> mysql -u root -p
 Enter password:

这里写图片描述
得到如图所示的提示信息,表示已经可以运行MySQL的SQL代码了。

提示”commands end with ; or \g.”指的是每条命令都要以“;”结束。

2 查询、创建、删除数据库

(1)查询MySQL中已有的数据库

>show databases;

这里写图片描述
(2)创建数据库mydb

>create database mydb;

再次查询可以看到,数据库库中增加了mydb。
这里写图片描述
(3)删除数据库

>drop database mydb;

因为没有以“;”结束,所以数据库认为命令未结束,不会执行任何操作,只需要在后面加上“;”就可以了。
这里写图片描述
数据库mydb已经被删除。
(4)创建数据库用户
如果一直以管理员身份进行操作会有诸多不便,因此可以对数据库创建专用用户,为数据库mydb创建用户名为user,密码为12345,并赋予所有权限:

grant all privileges on mydb. * to user@localhost indentified by '12345';

这里写图片描述
接下来推出管理员 root用户,登录刚刚创建的用户user,登录方法和之前的方法一样,先退出原先用户,再登录:

>exit;
>mysql -u user -p
Enter password:

这里写图片描述
(5)使用和查看当前数据库
指定使用某数据库,如mydb:

use mydb;

查看当前数据库:

select database();

这里写图片描述
如果想要指定使用mysql 数据库,则会提示Error,因为当前用户user没有权限使用mysql。

3 创建、查询和删除表格

(1)创建表格:
如创建名为customer的表格,其中有“mid、nam、birh、sex”四个属性:

属性 数据类型 说明
mid CHAR(5) 用户id(主键)
nam VARCHAR(20) 用户名
birh DATETIME 生日
sex CHAR(1) 性别(默认值为0)
>create table customer(mid char(5) primary key,nam varchar(20),birh datetime,sex char(1) default'0');

(2)查询表和查看表详情
查看数据库中有哪些表:

>show tables;

查看表的属性:

>desc customer;

(3) 删除表格

>drop table custmer;

创建表格

4 插入数据和查询数据

(1)在customer中插入一条数据:

>INSERT INTO customer values('N0001,'ekko','1993-09-01',1);

(2)查询数据
查询customer中的所有数据:

>select * from customer;

插入数据
(3)自增序列 AUTO_INCREMENT
在创建表时设定某个属性是自增序列,则每插入一条数据,即使不指定值或者指定其他值,该属性总是会自动加1,:


>create table good (id INT AUTO_INCREMENT PRIMARY KEY,nam VARCHAR(30);

AUTO_INCREMENT
这里写图片描述

如果想要重新设定AUTO_INCREMENT的初始值,则ALTER TABLE 表名 AUTO_INCREMENT=数值,但是在执行这个命令之前必须先清空所有数据,否则无效。

这里写图片描述

在执行过程中,如果因为某些原因发生错误,无法停止怎么办?“Ctrl + c”

这里写图片描述

这里写图片描述

5 更新和删除数据

(1)更新数据
将id为g002的数据的用户名改为小明:

>UPDATE customer SET nam='小明' WHERE mid='g002';

执行命令之前:
这里写图片描述
执行命令之后:
更新数据
(2)删除数据
删除id为“h001”的数据:

DELETE from customer where mid='h001';

数据库删除

6 检索查询记录

(1)查询所有记录
在之前提到过,比较简单,用*通配符表示所有,SELECT * FROM 表名;
(2)查询指定记录

SELECT 列名1,列名2··· FROM 表名[条件表达式];

数据库查询
(3)模糊检索


>SELECT nam FROM customer WHERE nam like '%明';

(4)多个条件组合

NOT ,AND , OR 组合使用

这里写图片描述

(5)结果排序
ASC表示升序,DESC表示降序;

>SELECT * from customer order by birh ASC,sex DESC;

结果排序
(6)数据分组与统计函数
主要统计函数:

函数 说明
AVG 均值
COUNT 计数
MAX 最大值
MIN 最小值
SUM 求和

如要对mid进行计数,并按照性别分组:

>select sex,count(mid) from customer group by sex;

分组

(7)别名
使用AS指定别名:
指定别名

7 几个函数

(1)length函数

使用length返回字节数,使用char_length返回字符串长度,使用bit_length返回bit 单位长度;

length函数
(2)DATE_ADD函数

进行日期的加减运算

dater_add函数
(3)EXTRACT函数

在日期中取出元素(如年、月、日等)

extract函数

其它日期相关的函数:

函数 说明
YEAR
QUARTER 季度
MONTH
MONTHNAME 月名
DAYOFMONT 日(号码)
DAYNAME 星期名
DAYFOWEEK 星期号码(1-7)
HOUR 小时
MINUTE
SECOND
MICROSECOND 微秒

提取日期
(4)case函数
case函数

这里写图片描述

8 多个表连接

(1)内连接
内连接最为简单,表间的主键和外键相连接,只有数值一致才会连接;

>SELECT COL1... FROM TABLE1 INNER JOIN TABEL2 ON
TABLE1.FOREIGHKEY=TABLE2.PRIMARYKEY
[WHERE/ORDER BY]

这里写图片描述
(2)外连接(左连接和右连接)
内连接只有完全一致才会被连接在一起,而外链接会保留左边或者右边表格的全部符合要求的记录;

>SELECT COL1... FROM TABLE1 LEFT/RIGHT OUTER JOIN TABEL2 ON
TABLE1.FOREIGHKEY=TABLE2.PRIMARYKEY
[WHERE/ORDER BY]

外连接
(3)多个表的连接
多个表的连接是在两个表连接的基础上而产生,其原理相同,通过主键和外键不断地连接成一个新的表;
多个表的连接

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/moxigandashu/article/details/61414038
个人分类: mysql
上一篇python 使用过程问题总结
下一篇MySQL数据库表的管理(修改表,复制,新增、修改列,删除表列)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭