Mysql数据库必备命令操作

1、对数据库的操作

1)新建数据库

1 create database jfedu;         创建名为jfedu数据库;

2)查询数据库

1 show databas;                                  查看所有的数据库;
2 show tables; 查看数据库里有多少张表;
3 show variables like '%char%';        查看数据库字符集;
4 set character_set_server=utf8;      设置数据库字符集
5 show engines;                       查看MySQL存储引擎
6 show variables like '%storage_engine%';     查看MySQL默认的存储引擎;
7 alter table  t1  engine=innodb;              修改MySQL t1表存储引擎

2、对表的操作命令

 1)新建表

mysql数据库主键作用?

①主要的作用主要确定该数据的唯一性。比如说ID=1,NAME=张三。我们要在数据库中,找到这条数据可以使用select * from 表 where id=1 这样就可以把张三查找出来了。而这个张三,也可以出现同名,所有用ID来做主键。
②而你说的insert into 是插入操作。当ID设置为了主键,再插入一个相同的主键值,就为报错误,并不会更新,你想要个更新就必须执行 UPDATE
③PRIMAPY是主键的意思,表示定义的该列值在表中是唯一的意思,不可以有重复。

 1 create table t1 (id varchar(20),name varchar(20));             创建名为t1表,并创建两个字段,id、name,varchar表示设置数据长度,用字符来定义长度单位,其中1汉字=2字符=2Bytes;
 2 create table Student(id int not null comment '用户');            创建一个表并给字段加注释
 4 CREATE TABLE t1( id int not null primary key,name char(20));    创建一个表并指定主键是id
 5 CREATE TABLE t1( id int not null,name char(20),primary key (id,name));              复合主键 ,创建一个表并指定主键是id和name
 6 CREATE TABLE t1(id int not null default 0 primary key,name char(20) default '1');   创建一个带默认值的表
 7 CREATE TABLE student(id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学号',name VARCHAR(200) COMMENT '姓名',age int COMMENT '年龄') COMMENT='学生信息'     创建一个表,并给字段和表同时添加注释 

default       默认值:设定默认值,则如果插入数据时,该字段没有给值,就使用它。

not null      设定为不为空

primary key    设置为主键,就是通过该字段的值,可以唯一确定一行数据;并且默认不为空

AUTO_INCREMENT    可以理解为自动递增的意思,每增加一条记录,值会自动加1。

2)向表中插入数据

1 insert into t1 values ("1","jfedu");   向表中插入数据;

3)查询表的内容

1 select * from t1;                                 查看t1表数据内容;
2 Select * from t1 where id=1 and age =’jfedu’;     id、age多个条件查询;
3 desc t1;                                          查看t1表字段内容;
4 show full columns from t1;                         查询表t1的所有字段(列column)内容
5 show index from t1; 查看表的索引模式;
6 select COLUMN_NAME,COLUMN_COMMENT from information_schema.COLUMNS where table_name='test1' and table_schema='School'; 意思是选择列名,列注释从数据库information_schema的表COLUMNS

4)修改表中内容

1 alter table t1 modify column name varchar(20);    修改name字段的长度;
2 alter table t1 modify column name char(40) not null; 修改name字段为非空;
3 alter table t1 change name student char(20) not null; 修改列名;
4 alter table t1 add age char(20) not null; 增加列;
5 update t1 set name='jfedu.net' where id=1; 修改name字段的内容;

5)删除表

1 delete from t1 ;          清空表内容;
2 drop  table t1 ;          删除表;

3、数据库权限设置

1)对数据库授权

1 grant  all  on  jfedu.*   to  test@localhost  identified by 'pas';          授权localhost主机通过test用户和pas密码访问本地的jfedu库的所有权限;
2 grant select,insert,update,delete on *.* to test@”%  identified by ‘pas’;   授权所有主机(不包括localhost)通过test用户和pas密码访问本地的jfedu库的查询、插入、更新、删除权限;
3 grant  all  on  jfedu.*  to test@’192.168.111.118’ identified by 'pas'授权192.168.111.118主机通过test用户和pas密码访问本地的jfedu库的所有权限;

2)删除权限

1 revoke all on *.* from dba@localhost;          删除一条权限
2 delete from mysql.user Where User='discuz';    删除一个用户

3)查询权限

1 select distinct concat('User: ''',user,'''@''',host,''';') from mysql.user;      查看MYSQL数据库中所有用户
2
select * from mysql.user where user='zabbix'\G; 查询用户jingfeng的所有权限 3 show grants for jingfeng; 查询用户jingfeng的所有权限

 

posted @ 2018-11-19 18:04  流年晕开时光  阅读(231)  评论(0编辑  收藏  举报