1.mysql新增、删除用户和权限分配

查看用户及权限

mysql>use mysql
mysql>select * from user\G;

新增用户

mysql>insert into mysql.user(Host,User,Password) values("localhost","hive",password("123456"));
mysql>flush privileges;

修改密码

mysql>update mysql.user set password=password('new password') where User="hive" and Host="localhost";
mysql>flush privileges;

权限分配

grant 权限 on 数据库.* to 用户名@'登录主机' identified by '密码'分配

权限:
常用总结, ALL/ALTER/CREATE/DROP/SELECT/UPDATE/DELETE
数据库:
*.* 表示所有库的所有表
test.* 表示test库的所有表
test.test_table 表示test库的test_table表
用户名:
mysql账户名
登陆主机:
允许登陆mysql server的客户端ip
'%'表示所有ip
'localhost' 表示本机
'192.168.10.2' 特定IP
密码:
账户对应的登陆密码
mysql>grant all  on test.* to hive@'%' identified by '123456';
mysql>flush privileges;

  就会拥有test库的所有操作权限

删除用户

mysql>DELETE FROM user WHERE User="hive" and Host="localhost";
mysql>flush privileges;

2.创建数据库和表

显示数据库

mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
3 rows in set (0.00 sec

创建数据库

mysql> CREATE DATABASE kang;
mysql> USE kang 

创建数据表

mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1),
-> birth DATE, birthaddr VARCHAR(20));

因为name、birthaddr的值是变化的,因此选择VARCHAR,其长度不一定是20.可以选择从1到255的任何长度,如果以后需要改变它的字长,可用ALTER TABLE语句。

显示数据表

mysql> SHOW TABLES;
mysql> DESCRIBE mytable;
mysql> select * from mytable;
mysql> show index from tblname;
mysql> show keys from tblname;  

查看建表时间,表大小


USE information_schema
SELECT create_time FROM TABLES WHERE table_name ='inst_avgrankall1';

添加记录

mysql> insert into mytable values (′abccs′,′f′,′1977-07-07′,′china′);
Query OK, 1 row affected (0.05 sec)  

文本方式导入数据库表

可以用文本文件的方式将所有记录加入你的数据库表中。
创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在CREATE TABLE语句中列出的列次序给出,例如: 
abccs f 1977-07-07 china  
mary f 1978-12-12 usa
使用下面命令将文本文件“mytable.txt”装载到mytable表中:
字段之间用tab键隔开
mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet; 
再使用如下命令看看是否已将数据输入到数据库表中:
mysql> select * from mytable;

主键删除/添加

mysql>alter table tb add primary key(id);
mysql>alter table tb change id id int(10) not null auto_increment=1;
mysql>alter table tb change id id int(10);//删除自增长
mysql>alter table tb drop primary key;  

删除表

mysql>drop table mytable;

清空表

mysql>delete from mytable;
mysql>truncate table mytable;

更新表

mysql>update mytable set sex="f"where name ='kxd';

导出数据库

mysqldump --opt test > mysql.test
即将数据库test数据库导出到mysql.test文件,后者是一个文本文件
如:mysqldump -u root -p123456 --databases dbname > mysql.dbname
就是把数据库dbname导出到文件mysql.dbname

导入数据库

mysqlimport -u root -p123456 < mysql.dbname

备份数据库

mysqldump -uroot 库名>xxx.data

远程连接

mysql -hIP -uroot -ppassword

改变字段长度
alter table user modify column name varchar(50)

 添加自我增长的主键列

alter table `表格名` add column `列名` int not null auto_increment primary key comment '主键' first; 
insert into 数据表名(name,sex,age) values('val1',val2'','val3');

id 字段省去就可以了,但其余的不能省
增加字段:
alter table tablename add new_field_id type not null default '0';
例:
alter table mmanapp_mmanmedia add appid_id integer not null default 372; 增加主键:
alter table tabelname add new_field_id type default 0 not null auto_increment ,add primary key (new_field_id); 增加外键: 在已经存在的字段上增加外键约束
ALTER TABLE yourtablename ADD [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...) REFERENCES tbl_name (index_col_name, ...) [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}] [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}] 删除字段:
alter table tablename drop column colname;
例:
alter table mmanapp_mmanmedia drop column appid_id;
修改字段名:
alter table tablename change old_field_name new_field_name old_type; 修改字段类型:
alter table tablename change filed_name filed_name new_type;

  

出现问题:

mysql自增列的问题:Duplicate entry '0' for key 'PRIMARY' 代表出现相同的主键

建表参照脚本

CREATE TABLE IF NOT EXISTS isa_chxx_ext (
ext_id int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID 主键 自动增长',
ch_id int(11) NOT NULL COMMENT '储户ID 外键',
zhbh varchar(20) NOT NULL COMMENT '账号',
ext1 varchar(20) DEFAULT NULL COMMENT '扩展属性1',
ext2 varchar(20) DEFAULT NULL COMMENT '扩展属性2',
ext3 varchar(20) DEFAULT NULL COMMENT '扩展属性3',
PRIMARY KEY (ext_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='储户信息扩展信息表' AUTO_INCREMENT=1 ;

  


 

												

mysql命令汇总的更多相关文章

  1. mysql 命令汇总

    1.连接master和slave CHANGE MASTER TO:将slave定向到master,然后用START SLAVE启动复制 change master to master_host='' ...

  2. Linux上通过MySQL命令访问MySQL数据库时常见问题汇总

    Linux上通过mysql命令访问MySQL数据库时常见问题汇总 1)创建登录账号 #创建用户并授权 #允许本地访问 create user 'test'@'localhost' identified ...

  3. MySQL常用命令汇总(偏向运维管理)

    基础部分 1. select @@version; ##查询当前mysql的版本. 2. show variables like 'port';##查看mysql实例的端口. 3. show vari ...

  4. MySQL笔记汇总

    [目录] MySQL笔记汇总 一.mysql简介 数据简介 结构化查询语言 二.mysql命令行操作 三.数据库(表)更改 表相关 字段相关 索引相关 表引擎操作 四.数据库类型 数字型 字符串型 日 ...

  5. 73条日常Linux shell命令汇总,总有一条你需要!

    转载: 73条日常Linux shell命令汇总,总有一条你需要! 1.检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo &q ...

  6. MySQL登录汇总

    --MySQL登录汇总 --------------------2014/5/17 1. ERROR 1045错误ERROR 1045 (28000): Access denied for user ...

  7. MySQL命令,一篇文章替你全部搞定

    MySQL命令,一篇文章替你全部搞定 MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等.而这两个方面又 ...

  8. 【Linux】Linux 常用命令汇总

    查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpk ...

  9. MYSQL 命令行显示乱码 解决方案

    中文乱码是因为编码集不支持,所以要改变编码 先查看下设置的编码 使用如下命令 show variables like 'character%'; 在 mysql.conf (Ubuntu mysql5 ...

随机推荐

  1. Matlab 多项式拟合、稳健滤波等实用函数

    Function summary http://www.biomecardio.com/matlab/index.html clinspace Curvilinearly spaced points ...

  2. Struts2是什么?

    Struts2是什么: Struts2是整合了struts1和webwork的技术优点的使用广泛的MVC框架: Struts2的特点: 1.基于MVC框架,结构清晰,便于开发人员掌控开发流程: 2.使 ...

  3. 在windows环境下更改某软件的窗口位置

    #include<stdio.h>#include <stdlib.h>#include <Windows.h>#include <time.h> vo ...

  4. ext4 关闭延迟分配

    ext4的延迟分配特性(delalloc)保证文件在磁盘中的连续,提高文件的读写性能,但是却增加了丢数据的概率. Hadoop和HBase中建议将延迟分配特性关闭. 可以使用下面的方法关闭延迟分配 1 ...

  5. vue2.0父子组件之间通信

    父组件是通过props属性给子组件通信的来看下代码: 父组件: <parent> <child :child-com="content"></chil ...

  6. ------- 软件调试——注销 QQ 过滤驱动设置的事件通知 CallBack (完)-------

    ---------------------------------------------------------------------------------- 本系列的最后一篇演示如何通过调试手 ...

  7. 二维码开源库ZBar-吐槽篇

    前不久在网上看到一篇文章<QR-Decoder-OV5640 二维码识别> ,是某开发板的教程.记得对应的开发板以前购买过,当初只是为了看OV5640的JPG的输出效果,结果由于公司奇葩的 ...

  8. Sql server 卸载方法

    sql server不正确卸载时,重新安装会失败,会提示各种错误:如数据库实例已存在等... 下面是我摸索总结出来的卸载方法,以及重装失败后的处理方法: 卸载方法: 注意:SQL Server 200 ...

  9. python学习:递归列出目录里的文件

    #!/usr/bin/python   import os import sys   def print_files(path):     lsdir = os.listdir(path)     d ...

  10. 对html语义化的理解

    所有人都知道html即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言. html标签中的大部分都是由"语义化"标签所担任 那么,它有 ...