MySQL基础知识

开启MySQL服务

1 在windows操作系统下开始Mysql服务 (命令大小写不敏感)
net start mysql57
关闭MySQL服务:net stop mysql57
mysql57是MySQL的名称,可看服务中去查看

2 在Linux的操作系统下开启MySQL服务 (命令大小写敏感)
systemctl start mysqld.service
关闭MySQL服务:
service mysqld stop

登录MySQL

mysql -u用户名 -p密码

举个栗子:
限制用户从固定IP地址登录,端口号为3306:
mysql -utest -p123456 -h 172.16.1.21 -P 3306

修改用户密码、用户登录的IP地址

1 alter user ‘用户名’@‘登录的IP地址’ identified by '密码’
举个栗子:
不限制用户登录的主机地址:(%表示所有IP地址都可以,此时可远程登录)
alter user ‘test’@’%’ identified by ‘123’;
限制用户只能从创建的本机地址进行登录:
alter user ‘test’@‘localhost’ identified by ‘123’;
限制用户只能从指定的主机地址进行登录:
alter user ‘test’@‘192.168.0.23’ identified by ‘123’;

2 set password for ‘用户名’@‘登录的IP地址’=password(‘密码’);
举个栗子:
set password for ‘root’@‘localhost’=password(‘123456’);

创建新用户

create user ‘用户名’@‘登录的IP地址’ identified by '密码’
举个栗子:
不限制用户登录的主机地址(此时可进行远程登录):
create user ‘test’@’%’ identified by ‘123456’;
限制用户只能从指定的主机地址进行登录:
create user ‘test’@‘192.168.0.23’ identified by ‘123456’;
限制用户只能从创建的本机地址进行登录:
create user ‘test’@‘localhost’ identified by ‘123456’;

用户授权

grant 权限 on 数据库名.表名 to ‘用户名’@'主机地址’
举个栗子:
授予可从任意IP地址登录的用户test可对myclass数据库中的course表进行查询的权限:grant select on myclass.course to ‘test’@’%’;

撤销用户权限

revoke 权限 on 数据库名.表名 from ‘用户名’@‘登录的IP地址’;
举个栗子:
撤销可从任意IP地址登录的用户test可对myclass数据库中的course表进行查询的权限:revoke select on myclass.course from ‘test’@’%’;

展示某用户的权限

show grants for ‘用户名’@‘登录的IP地址’;
举个栗子:
show grants for ‘test’@’%’;

刷新权限

flush privilleges;

什么是SQL?

SQL是指结构化查询语句,全称Structured Query Language。可以用SQL语句访问和处理数据库。

用命令执行SQL文件

source 文件路径名
举个栗子:
source C:\mysql\init.sql
\. 文件路径名 (注:\.后有空格)
举个栗子:
\. C:\mysql\init.sql

SQL语句的分类

1 数据定义语言(DDL):
用于定义和管理数据对象(库、表、索引、视图),包括数据库,数据表等。
例如:create、drop、alter等语句。
2 数据操作语言(DML):
用于操作数据库对象中包含的数据。
例如insert、update、delete等语句。
3 数据查询语言(DQL):
用于查询数据库对象中包含的数据,能够进行单表查询、连接查询、嵌套查询,以及集合查询等各种复杂不同的数据库表查询,并将结果返回到客户机中显示。
例如:select语句。
4 数据控制语言(DCL):
用户管理数据库。包括管理权限及数据更改。
例如:grant、revoke、commit、rollback等语句。

常用数据类型

1 整数类型(5种)

2 小数类型

length该小数的最大位数、precision设置精度(小数点后的位数)
举个栗子:
decimal(5,2) 取值范围(-999.99,999.99)

3 字符串类型

4 日期类型

current_timestamp:
无论有没有set值都插入当前系统时间
on update current_timestamp:
无论字段的值有没有变化,它的值也会跟着更新为当前update操作时的时间
举个栗子:
create table t54(
id int,name char(10),
create_time timestamp null default current_timestamp,
update_time timestamp null default current_timestamp on update current_timestamp
);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值