创建用户
create user “用户名”@“权限” identified by "密码";
添加权限
grant 权限 on 数据库名.表名 to "用户名"@"登录权限"(IP地址或localhost) identified by "密码";
更改密码
set password for "用户名"@"登录权限"=password("新密码")
如果当前用户
set password=password("新密码")
回收权限
revoke 赋予的权限 on 数据库.表名 from "用户名"@"登录权限";
删除用户
drop user "用户名"@"登录权限";
查询数据库
show databases;
创建数据库
create database 数据库名字;
删除数据库
drop database 数据库名字;
切换数据库
use 数据库
查询数据库有多少表
show tables;
查询表的信息
select * from 表名
查询表结构
desc 表名
创建表
create table 表名(id int auto_increment primary key not null,
字段名字1 类型,
字段名字2 类型,
....
);
删除表
drop table 表名
更新表
alter table 表名 change 原列名 新列名 类型;
添加字段
alter table 表名 add 列名 类型;
删除字段
alter table 表名 drop 列名;
重命名表名
alter table 表名 rename 新表名
数据查询
select 字段名字 from 表名
数据添加
insert into 表名 values(0,值(有多少内容就写多少值));
缺省添加
insert into 表名 (字段1,字段2)values(值1,值2);
数据更新
update 表名 set 列1=新值 where 条件;
数据删除
delete from 表名 where 条件
外键
定义外键
alter table 表名
内连接查询:
例子:
select o.name, t.name from object o inner join teacher t on o.teacherid = t.id;
select 表一别名.表一要显示的内容,表二别名.表二要显示的内容(可以继续添加内容,中间使用逗号隔开)from 表一 表一的别名 inner join 表二 表二的别名 on 表一别名.外键=表二别名.表二的主键
左连接查询:
select o.name, t.name from object o left join teacher t on o.teacherid = t.id;
select 表一别名.表一要显示的内容,表二别名.表二要显示的内容(可以继续添加内容,中间使用逗号隔开)from 表一 表一的别名 inner join 表二 表二的别名 on 表一别名.外键=表二别名.表二的主键
右连接查询:
select o.name, t.name from object o right join teacher t on o.teacherid = t.id;
select 表一别名.表一要显示的内容,表二别名.表二要显示的内容(可以继续添加内容,中间使用逗号隔开)from 表一 表一的别名 inner join 表二 表二的别名 on 表一别名.外键=表二别名.表二的主键
触发器
创建触发器
mysql> create table log(id int primary key auto_increment not null,
-> time datetime);
mysql> delimiter ||
mysql> create trigger demo after update
-> on student for each row
-> begin
-> insert into log values(now());
-> end
-> ||