博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql学习1
阅读量:4622 次
发布时间:2019-06-09

本文共 4353 字,大约阅读时间需要 14 分钟。

1.什么是数据库?

数据的仓库,如在ATM的示例中创建了一个db目录,称其为数据库

 

2.安装 

下载http://dev.mysql.com/downloads/mysql/ 安装     windows:       (1)解压:如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录;       (2)初始化:MySQL解压后的bin目录下有一大堆可执行文件,执行如下命令初始化数据            D:\mysql\mysql5.7.16\mysql-5.7.16-winx64\bin\mysql --initialize-insecure        (3)启动MySQL服务:            #进入可执行文件目录             cd D:\mysql\mysql5.7.16\mysql-5.7.16-winx64\bin            #启动MySQL服务             mysql         (4)启动MySQL客户端并连接MySQL服务             由于初始化数据时未给root账户设置密码             #进入可执行文件目录             cd D:\mysql\mysql5.7.16\mysql-5.7.16-winx64\bin
#连接MySQL服务器             mysql -u root -p             #提示输入密码,直接回车即可

见如下图表示安装成功:

2.1添加环境变量

 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】

以后再启动服务并连接时,仅需:

#启动MySQL服务,在终端输入mysqld#连接MySQL服务,在终端输入mysql -u root -p

 

3.数据库操作

(1)显示数据库

show databases; 

(2)创建数据库 

create database db2;create database db2 default charset utf8;

#查看数据库

show databases;

#使用数据库

use 数据库名称

#删除数据库名称为db2的数据库

drop database db2;

(3)用户管理

#创建用户create user "alex"@"192.168.1.1" ["用户名”@“IP地址"] identified by "123123"[“密码”];#删除用户drop user  "alex"@"192.168.1.1"["用户名”@“IP地址"];#修改用户rename user "alex"@"192.168.1.1["用户名”@“IP地址"];to "alex1"@"192.168.1.2["新用户名”@“新IP地址"]#修改密码set password for "alex"@"192.168.1.1["用户名”@“IP地址"] = Password("新密码")

(4)授权管理

#查看权限show grants for "用户"@“IP地址”#授权grant 权限 on 数据库.表 to "用户"@“IP地址”#取消权限revoke 权限 on 数据库.表 from "用户"@“IP地址”

 

4.基本数据表

( 1 )创建表

create table 表名(    列名  类型  是否可以为空,    列名  类型  是否可以为空)engine=innodb default charset=utf8

( 2 )删除表

drop table 表名

(3)清空表

delete from 表名truncate table 表名

(4)修改表

添加列:alter table 表名 add 列名 类型删除列:alter table 表名 drop column 列名修改列:        alter table 表名 modify column 列名 类型;  -- 类型        alter table 表名 change 原列名 新列名 类型; -- 列名,类型  添加主键:        alter table 表名 add primary key(列名);删除主键:        alter table 表名 drop primary key;        alter table 表名  modify  列名 int, drop primary key;  添加外键:alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);删除外键:alter table 表名 drop foreign key 外键名称  修改默认值:ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;删除默认值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;

 

5.基本数据类型

MySQL的数据类型大致分为:数值,时间和字符串

(1)整数类型

tinyint, smallint, mediumint, int/intrger, bigint

(2)浮点数类型

float, double

(3)日期时间

date, datetime, timestamp, time, year

(4)字符串类型

char    速度快

varchar   节省空间

 

 6.表内容操作

(1)增

insert into 表 (列名,列名...) values (值,值,值...)insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...)insert into 表 (列名,列名...) select (列名,列名...) from 表 

(2)删

delete from 表delete from 表 where id=1 and name='alex'

(3)改

update 表 set name = 'alex' where id>1 

(4)查

select * from 表select * from 表 where id > 1select nid,name,gender as gg from 表 where id > 1

(5)其他

a、条件    select * from 表 where id > 1 and name != 'alex' and num = 12;     select * from 表 where id between 5 and 16;     select * from 表 where id in (11,22,33)    select * from 表 where id not in (11,22,33)    select * from 表 where id in (select nid from 表) b、通配符    select * from 表 where name like 'ale%'  - ale开头的所有(多个字符串)    select * from 表 where name like 'ale_'  - ale开头的所有(一个字符) c、限制    select * from 表 limit 5;            - 前5行    select * from 表 limit 4,5;          - 从第4行开始的5行    select * from 表 limit 5 offset 4    - 从第4行开始的5行 d、排序    select * from 表 order by 列 asc              - 根据 “列” 从小到大排列    select * from 表 order by 列 desc             - 根据 “列” 从大到小排列    select * from 表 order by 列1 desc,列2 asc    - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序 e、分组    select num from 表 group by num    select num,nid from 表 group by num,nid    select num,nid from 表  where nid > 10 group by num,nid order nid desc    select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid     select num from 表 group by num having max(id) > 10     特别的:group by 必须在where之后,order by之前 f、连表    无对应关系则不显示    select A.num, A.name, B.name    from A,B    Where A.nid = B.nid     无对应关系则不显示    select A.num, A.name, B.name    from A inner join B    on A.nid = B.nid     A表所有显示,如果B中无对应关系,则值为null    select A.num, A.name, B.name    from A left join B    on A.nid = B.nid     B表所有显示,如果B中无对应关系,则值为null    select A.num, A.name, B.name    from A right join B    on A.nid = B.nid g、组合    组合,自动处理重合    select nickname    from A    union    select name    from B     组合,不处理重合    select nickname    from A    union all    select name    from B

  

 

转载于:https://www.cnblogs.com/asaka/p/6946137.html

你可能感兴趣的文章
HDU 4630 No Pain No Game 树状数组+离线查询
查看>>
django上传文件
查看>>
CVPR2013-papers
查看>>
Javascript中定义方法的另类写法(批量定义Javascript对象的方法)
查看>>
ElasticSearch Document API
查看>>
JEECG使用笔记
查看>>
python多线程
查看>>
ASP.NET MVC系列:控制器的Edit方法
查看>>
JS中的自执行函数
查看>>
《Python从入门到实践》第五章动手试一试
查看>>
PHP之时间函数
查看>>
Vue之阻止默认行为
查看>>
Django一些操作命令
查看>>
Python open()完整参数
查看>>
django里面DTL使用for循环时,获取当前循环次数使用{{forloop.counter}}
查看>>
Linux基础-host文件解析
查看>>
PHP "延迟静态绑定" 功能,static
查看>>
(二)部署solr7.1.0到tomcat
查看>>
HTML5+CSS3 效果网站集合
查看>>
JavaWeb开发小结
查看>>