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 (触发器名)