Mysql

一、连接进入mysql

1、格式:

无密码 :mysql  -u用户  -p

例: mysql  -uroot  -p

有密码: mysql  -u用户  -p密码

例: mysql  -uroot  -pmysql

2、本地连接进入:

mysql  -u用户名  -p密码

3、远程连接进入:

mysql  -h远程主机ip  -u用户名  -p密码

二、退出数据库

mysql>quit/exit  回车

三、修改密码

1、开始添加密码

mysql>set password=password("密码");

mysql>flush privileges;

2、修改新密码

mysql>use mysql;

mysql>update user set password=password("密码") where user="root";

mysql>flush privileges;

3、版本8点后修改密码方式(大小写字母及特殊字符和数字组合):

msyql>use mysql

mysql>alter user "root"@"localhost" identified with mysql_native_password by "Mysql_123";

四、库用户

1、查看所有用户

mysql>select host,user,password from mysql.user;

mysql>select disnct host,user,password from mysql.user:

2、查看当前用户

mysql>select user();

mysql>select current_user;

3、增加新用户

grant select on 库名.*  to 用户名@ip identified by “密码”;

1)、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限

mysql> grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";

2)、添加用户

a)以root用户登录数据库,运行以下命令:

mysql> create user zhangsan identified by 'zhangsan';

上面的命令创建了用户zhangsan,密码是zhangsan。在mysql.user表里可以查看到新增用户的信息:

mysql> select user,host,password from mysql.user where user='zhangsan';

b)授权

将root数据库的所有操作权限都授权给了用户zhangsan。

mysql>grant all privileges on *.* to ’zhangsan‘@'%'  with grant option;

mysql> flush privileges;

c)在mysql.db表里可以查看到新增用户名及数据库权限的信息:

也可以通过show grants命令查看权限授予执行的命令:

mysql>show grants for 'zhangsan';

privilegesCode表示授予的权限类型,常用的有以下几种类型[1]:

  • all privileges:所有权限。
  • select:读取权限。
  • delete:删除权限。
  • update:更新权限。
  • create:创建权限。
  • drop:删除数据库、数据表权限。

dbName.tableName表示授予权限的具体库或表,常用的有以下几种选项:

  • .:授予该数据库服务器所有数据库的权限。
  • dbName.*:授予dbName数据库所有表的权限。
  • dbName.dbTable:授予数据库dbName中dbTable表的权限。

username@host表示授予的用户以及允许该用户登录的IP地址。其中Host有以下几种类型:

  • localhost:只允许该用户在本地登录,不能远程登录。
  • %:允许在除本机之外的任何一台机器远程登录。
  • 192.168.52.32:具体的IP表示只允许该用户从特定IP登录。

password指定该用户登录时的面。

flush privileges表示刷新权限变更。

4、删除用户

运行以下命令可以删除用户:

mysql>drop user zhangsan@'%';

drop user命令会删除用户以及对应的权限,执行命令后你会发现mysql.user表和mysql.db表的相应记录都消失了。

五、创建数据库

格式:crate database 数据库名;

mysql> create database bc;

设置uf8编码格式

mysql>create database bc charset utf8;

查看创建数据库语句:

mysql>show crate database 数据库名 \G;

六、显示所有得数据库

格式:show databases;

mysql>show databases;

七、删除数据库

格式:drop database 数据库名

mysql>drop database test;

删除一个不确定的数据库

mysql>drop database if exists drop_database;

八、查看当前选择的数据库

格式: select databases();

mysql>select databases();

九、备份数据库

导入数据库

mysql>source 数据表名.sql

使用当前数据库

mysql>use databasename;

查看当前使用的库名

mysql>select database();

查看当前库的所有表名

mysql>show tables;

新建表

mysql>create table tablename("字段1“ type not null, "字段2” type not null, .....)

命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

例如,建立一个名为MyClass的表,

字段名数字类型数据宽度是否为空是否主键自动增加默认值
idint4primary keyauto_increment
namechar20
sexint40
degreedouble16

mysql> create table MyClass(
 id int(4) not null primary key auto_increment,
 name char(20) not null,
 sex int(4) not null default '0',
 degree double(16,2));

删除表

mysql>drop table tablename;

表的操作

表添加字段:

mysql>alter table tablename add (字段) 类型。。。。

添加多个字段:

mysql>alter table tablename add ((字段) 类型。。。。, (字段) 类型。。。。)

修改表字段:

mysql>alter table tablename change 原字段名  新字段名 类型 是否为空

修改字段类型:

mysql>alter table tablename modify column 字段名 字段类型

在指定的字段后添加字段:

mysql>alter table tablename column 新字段名 类型 是否为空 after 旧字段名

删除表的字段:

mysql>alter table tablename drop 字段名;

删除表中数据:

命令:delete from 表名 where 表达式
例如:删除表 MyClass中编号为1 的记录
mysql> delete from MyClass where id=1;

表插入数据:

mysql>inset into tablename values (数据1,数据2)或 insert into tablename (字段1,字段2,...)  values (数据1,数据2,....)

mysql>insert into tablename (字段1,字段2,...)  values (数据1,数据2,....),(....)

mysql>insert into goods_cates (cate_name) select cate from goods group by cate;

加索引
   mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
例子: mysql> alter table employee add index emp_name (name);

加主关键字的索引
  mysql> alter table 表名 add primary key (字段名);
例子: mysql> alter table employee add primary key(id);

加唯一限制条件的索引
   mysql> alter table 表名 add unique 索引名 (字段名);
例子: mysql> alter table employee add unique emp_name2(cardnumber);

删除某个索引
   mysql> alter table 表名 drop index 索引名;
例子: mysql>alter table employee drop index emp_name;

数据库的主从复制

数据库的优化

数据库sql注入

1.显示MYSQL的版本
mysql> select version(); 

2. 显示当前时间
mysql> select now(); 

3. 显示年月日
SELECT DAYOFMONTH(CURRENT_DATE); 

SELECT MONTH(CURRENT_DATE); 
 
SELECT YEAR(CURRENT_DATE); 

4. 显示字符串
mysql> SELECT "welecome to my blog!"; 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值