Mysql 基本指令备忘

来源:互联网 发布:东方财富通mac 编辑:程序博客网 时间:2024/05/29 06:50

1、mysql修改密码 :

使用  >mysqladmin -u root -p (原密码,可省)password (新密码可省);




2、mysql登陆:

> mysql -u root -p ;常用  默认本地主机地址

>mysql -h localhost  -u root -p;(命令行下当Mysql未设置端口为3306情况下使用)

>mysql -h localhost  -P xx -u root -p; (命令行下当Mysql重新修改了端口不为3306情况下使用,注意-P为大写)


3、给用户赋予权限  grant <权限> on <table、database><名称>  to user

>grant 权限 on *.* to 'root'@‘localhost’ identified by ‘密码’    

* .* 表示所有数据库的所有表 , 一般是某个数据库下所有表 db1.*

给用户撤销权限  revoke <权限> on <table、database><名称>  from user  [RESTRICT/CASCADE]

>revoke 权限 on *.*from 'root'@‘localhost’ identified by ‘密码’   cascade

* .* 表示所有数据库的所有表 , 一般是某个数据库下所有表 db1.*

cascade 表示级联收回,同时时候该用户授予其他用户的该权限

restrict只收回当前用户的权限




4、列出数据库  /  表

>show databases;  

>show tables;  (注意有个s)

 创建数据库

>create database; 

删除数据库 / 表 

>drop database  test_db;

>drop tables  test_table;

使用数据库

>use test_db;跳出当前数据库


5、表的相关操作:创建/删除/修改/增加数据:

>create table test(id int(4) primary key auto_increment not null , name char(20) not null default '')engine=innodb;

获取表结构 

>desc test;

插入表数据 insert每次只能插入一组 insert into....

>insert into test values(1,'gao');   注意values有个s

或者

>insert into test ( id ,name) values ( 2,'w');

删除表数据  delete from ......

>delete from test where 条件 ;

修改表数据  update 表名 set 字段=新值 where 条件 ;

>update test set name=gyp where name='gao'; 把name字段中gao改为gyp

修改表名

>rename table test to new_name;


6  表中使用Alter相关操作 (增加各种字段/索引等)

增加表字段 alter.....add  

>alter table test add grade int(20) default '0' ; 

修改原字段名称及类型  

> alter table test change name user_name int(4).....; 把原字段name改为新的字段user_name,新字段类型也要写
删除字段
>alter table test drop grade;  删除表test中的grade字段

增加索引

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


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

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

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

7 ,SELECT 应用

1) 显示MYSQL的版本

mysql> select version();

2) 显示当前时间

mysql> select now();

3) 显示字符串

mysql> SELECT "hello world!";

4) 当计算器用

select ((4 * 4) / 10 ) + 25;

5) 串接字符串

select concat(a, " ",b)  as  name from test;

注意:这里用到CONCAT()函数,用来把字符串串接起来。AS给结果列'CONCAT(f_name, " ", l_name)'起了个假名


8, 备份数据库:要在mysql的bin目录下执行语句

>mysqldump -u root -p test>test.sql ;  整个表备份

>mysqldump -u root -p test user >user.sql ;备份test数据库中的user的表;

导入表

>mysql -u root -p test<c;/sdf/sdf/a.sql;   导入数据库a.sql到test数据库



9、创建用户

CREATE USER .....  IDENTIFIED BY ‘....’

create user gk@localhost identified by ‘12’  创建用户gk 密码为12 

删除用户

DROP USER ......

drop user gk@localhost   删除用户gk     也可以模糊匹配   gk@‘%’


10 外键约束 foreign  key  属性 reference 表名(属性)

若果建立一个表a,b,表a中的某一字段为表b中的主键  

create table a ( id int primary key auto_increment , id_b int foreign  key id_b reference b(id_b) );


11 检查字句 check 

create table a ( id int primary key , number int check (number>10));插入的时候number应大于10,但是mysql并不会检查是否大于10


12mysql 触发器操作 格式如下:

创建触发器:

CREATE TRIGGER (触发器名) [ BEFORE / AFTER]   

【INSERT/UPDATE/DELETE 】ON (表)

Reference new row as nrow

For each row

WHEN 触发条件

BEGIN ATOMIC

SQL语句

END


删除触发器 :

DROP TRIGGER (触发器名)



0 0
原创粉丝点击