mysql 修改函数 用户_3、MySQL增删改查、用户权授、系统函数、字段修改

1)数据库分类

2)系统函数

3)创建数据库

4)选择数据库

5)数据类型

6)建表语句

7)插入数据

8)删用户删数据删库表

9)修改表数据

10)查询数据

11)用户授权

12)show查看当前所有库表、建库表语句、用户权限

13)desc查看表结构

14)复制表结构

15)字段增删改

16)查看帮助

【数据库分类】

在MySQL软件中,数据库可以分为系统数据库和用户数据库两大类

1、系统数据库

系统数据库是指装完MySQL服务器后,会附带的一些数据,如下图所示

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| ryzc_data          |

| test               |

+--------------------+

5 rows in set (0.00 sec)

information_schema: 主要存储系统中的一些数据库对像信息,如用户信息,列信息,权限信息,字符集信息和分区                     信息等

performance_schema: 主要存储数据库服务器性能参数

mysql:主要存储系统的用户权限信息

test:该数据库为MySQL数据库管理系统自动创建的测试数据库,任何用户都可以使用

2、用户数据库

用户数据库是用户根据实际需求来创建的数据库,如下图,其中userdatabase数据库属于用户数据库

【系统函数】

version()   #返回系统库的版本号

databasee()  #返回当前系统库名

user()  #返回当前用户

#查询多个

mysql> select user(),database(),version();

#查询单个

mysql> select user();

【创建数据库】

create database database_name

上述语句中database_name参数表示所要创建的数据库的名字

mysql> create database databasetest;

Query OK, 1 row affected (0.00 sec)

Query OK:表示SQL语句执行成功

1 row affected :表示操作只影响了数据中一行的记录

0.00 sec:表示操作执行的时间

create database wsyht_gbk default character set gbk collate gbk_chinese_ci;  #创建库wsyht_gbk并设置默认字符集gbk

create database wsyht_utf8 default character set utf8 collate utf8_general_ci; #同理指定utf8字符集

【选择数据库】

mysql> use mysql

【数据类型】

常用类型:

整数类型

int

浮点数类型

float

字符串类型

char

varchar

【建表语句】

#创建表stdent

id字段最少要填四位整数,不能位空

name字段为字符串,最少填20位,不能为空

use wsyht

create table student(

id int(4) not null,

name char(20) not null,

age tinyint(2) NOT NULL default '0',

dept varchar(16) default NULL

);

【插入数据】

insert into student(id,name) values(1,'wsyht');

insert into student values(4,'jack',25,'abc');  #按照顺序插值

insert into student values(5,'dock',25,'abc'),(6,'tom',26,'cad');  #插入两个值

【删用户删数据删库表】

#删库

drop database wsyht; #删除wsyht数据库

drop user 'root'@'localhost'   #删除系统多余账号,删除user表root用户主机名为localhost

#删用户

delete from mysql.user where user='root' and host='localhost';   #删除root用户

flush privileges; #删除用户需要刷新权限

#删表

drop table student;

#删数据

delete from test where id=1;  #删除test表id号等于1的行

delete from test where id>3;  #删除test表id号等于3的行

delete from test; #删除test表中的所有数据

truncate table test;  #直接清空整个表,test是表名

truncate清空物理文件  delete逻辑清除按行删

【修改表数据】

update t1 set name='jack' where id=1; #更新表t1的name字段为jack,条件为id=1

rename table test to t1; #把test表改名为t1;

alter table t1 rename to test; 把t1表改名为test

【查询数据】

select *from student; #查询表所有数据的值

select id, name from student;  #查询id name字段的值

select id,name from student limit 2; #只查询id,name字段2行数据的值

select id,name from student where id=1; #条件查询,查询id=5的值

select id,name from student where name='tom'; #字符患查询要加引号

select id,name from student where name='tom' and id='6'; #两边都要成立

select id,name from student where name='tom' or id='8';  #一边成立即可

select id,name from student where id>3 and id<6;  #范围内查询

select id,name from student order by id; #排序id列,不加默认正向排序

select id,name from student order by id asc; #排序id列,加asc正向排序

select id,name from student order by id desc; #排序id列,加desc反向排序,需要指定列

select user,host,password from mysql.user order by user asc;   #user列升序排序

select user,host,password from mysql.user order by user desc;  #user列倒序排序

【用户授权】

#用户授权之后需要flush privileges刷新权限

grant all on db1.* to wsyht@localhost identified by 'wsyht'; #授权用户,主机指客户端登陆的主机,这里写localhost允许在本机登陆

grant all privileges on *.* to peter@localhost identified by 'peter';  #或这样授权用户,创建用户和授权一起操作

create user wsyht@localhost identified by 'wsyht'; #先创建用户(语句详情意思可看MySQL简介文档)

grant all on *.* to wsyht@localhost;  #再授权用户

create user wsyht@'10.0.0.%' identified by 'wsyht';   #创建远程登陆账户

grant all on *.* to wsyht@'10.0.0.%' identified by 'wsyht';  #创建并授权远程登陆账户法1

grant all on *.* to test@'10.0.0.0/255.255.255.0' identified by 'test123';  #创建并授权远程登陆账户法2

revoke insert on *.* from wsyht@localhost; #去除他所有库和所有表的insert权限,要先查看他对哪个库和哪个表有权限,然后再对他授权的库和表进行去除权限操作

revoke all privileges,grant option from 'wsyht@localhost'; #回收用户的所有权限

【show查看信息】

#查看当前所有库

show databases;  #显示所有数据库

show databases like '%wsyht%';  #显示所有含有wsyht名字的库

#查看库中的所有表

show tables from d1; #显示d1库有多少表

show tables;  #显示当前库中所有的表

#查看建库建表语句

show create database wsyht_utf8;   #显示创建的数据库的字符集

show create database wsyht_gbk\G;   #加\G换行显示,不用加分号,查看已建库的语句

show create table student\G;  #查看已建表的语句

#查看权限

show grants for wsyht@localhost;  #查看权限

GRANT SELECT ON *.* TO 'wsyht'@'%' IDENTIFIED BY PASSWORD '123456' #授权wsyht只读权限

【desc查看表结构】

use wsyht     #进入wsyht库

desc student;  #查看student表结构

【复制表结构】

create table 新表 select *from 旧表   #复制旧表的表结构及旧表的数据到新表

create table 新表 select *from 旧表 where 1=2 #只复制旧表的表结构到新表

insert into 新表 select * from 旧表 #复制旧表的数据到新表(假设两个表结构一样)

insert into 新表 字段1,字段2,....... select 字段1,字段2,...... from 旧表 #复制旧表的数据到新表(假设两                                                                           个表结构不一样)

【字段增删改】

#增字段

alter table test add sex char(4);  #在test表添加字段sex,默认添加在最后一行

alter table test add qq varchar(15) first;  #在第一行添加字段qq

alter table test add age int(3) after name;  #在test表name字段后面添加age字段

alter table t1 add age int (3),add name varchar(11);  #增加表中age和name两个字段

#改字段

alter table t1 modify deptno varchar(20); #更改deptno字段属性为varchar(20)

alter table t1 change age ages varchar(20) not null; #只更改表中age字段名为ages;

alter table t1 change age ages varchar(40) not null; #同时修改字段名和属性,字段名改为ages,属性改为varchar(40)

#修改字段顺序

alter table t1 modify 属性名1 数据类型 first | after 属性名2

上述语句中,t1参数表示所要修改表的名字,“属性名1”参数表示所要调整顺序的字段名,“first”参数表示要将参数调整到表的第一个位置,“after 属性名2”参数表示将字段调整到属性名2字段位置之后

alter table t1 modify ages varchar(40) first  #把ages字段放到第一位

alter table AS_DbSource change BackupIPs BackupIPs varchar(45) after IPs;

把BackupIPs字段设置在IPs字段后面

#删字段

alter table t1 drop deptno;  #删除deptno字段

alter table t1 drop column age,drop column name;  #连续删除age和name两个字段

【help查看帮助】

mysql> help show

mysql> help select

mysql> help alter

mysql> help insert

mysql> help update

MySQL表损坏推荐博客:http://www.cr173.com/html/20239_1.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值