• 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的所有权限
  • 相关阅读:
    String StringBuffer StringBuilder 三者的区别
    叶正盛:再次写给我们这些浮躁的程序员
    ubuntu中eclipse无法识别android手机问题
    Android 源代码结构
    sqlite3_open_v2(“/data/data/com.android.packagename/databases/dump.sqlite”, &handle, 1, NULL) failed
    新浪天气预报API
    在Android上常用的定时器 AlarmManager
    [转]#ifdef __cplusplus与extern "C"的解释
    [转]char *p="1234567890"以及C/C++的内存
    C语言中,为什么字符串可以赋值给字符指针变量
  • 原文地址:https://www.cnblogs.com/deny/p/9984499.html
Copyright © 2020-2023  润新知