# 数据库操作命令
1、创建、删除、切换数据库
```
create database `数据库名`
drop database `数据库名`
use `数据库名`
```
2、创建数据库用户jack在任意机器对其有完全访问权限;删除用户
```
create user ‘jack‘@‘%‘ identified by ‘password‘ ?//添加用户
drop user ‘jack‘@‘%‘ ? ?//删除用户
```
3、授权
```
命令:grant privileges on ?databasename.tablename ?to ?‘username’@‘host’
privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL
databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部。
’username‘@‘host’:表示授权给哪个用户。
举例:
grant ?select,insert ?ON ?zje.zje ?to ‘aaa’@‘%’; ? ? ? ? //表示给用户aaa授权,让aaa能给zje库中的zje表 实行 insert 和 select权限。
grant ?all ?on ?*.* ?to ?‘aaa’@‘%’;//表示给用户aaa授权,让aaa能给所有库所有表实行所有的权力。
```
4、设置、更改用户密码
```
set ?password ?for ?‘username’@‘host’ ?= ?password(‘newpassword’); // 设置指定用户的密码
set ?password ?= password(‘newpassword‘); ?// 设置当前用户的密码
```
5、创建表并添加主键、删除表
```
create table `t3`( ? ? ? ? ? ? ?// 创建表
`id` int(6) primary key,
`name` char(10),
`bir` date
);
drop table `表名` ? ? // 删除表
```
6、建完表后,再添加、删除主键
```
alter table 表名 add primary key(id) ? // 添加主键
alter table 表名 drop primary key ? ? ?// 删除主键
```
7、在name字段后,添加age字段(int类型),并指定有效值为(21,22)
```
alter table m1803.t3 add age ?int ?after name ;
```
8、查看表结构
```
desc ?表名
```
9、 查询表中内容
```
select * from user ? ? // 查所有
select id,name,age from user where age >20 and sex = ‘男’ ?//查询某几个字段,条件为年龄大于20岁且性别为男
```
10、 删除表中内容
```
delete from user where birthday > ‘1990-10-03‘ or sex = ‘女‘ //删除出生日期大于1990-10-03 或者性别为女的所有数据
```
11、 添加表中的内容
```
规则:insert into 表名 values(值,值,值,值) ?//注意字符串、日期需要加单引号,数值型不需要加单引号
insert into t3 values(1,‘jack‘,20,‘1998-02-03‘) ??
```
12、修改表中的数据
```
规则:update ?表名 ?set ?字段=值, 字段=值, 字段=值 ?where ?条件1 and(or) 条件2 ;
update t3 set age=23 , bir=‘2000-10-09‘ where name=‘jack‘ //将名字叫‘jack’的年龄改为23,日期改为2000-10-09
update t3 set name=‘tom‘ where id=1 // 将id=1的用户名字改为tom
```
13、导出数据库
```
(1).导出整个数据库
mysqldump -u用户名 ?-p密码 ? 数据库名 > 导出的文件名
mysqldump -uroot -p123 ?t3 > /mnt/dbname.sql
(2).导出一个表
mysqldump -u用户名 ?-p密码 ? 数据库名 表名 > 导出的文件名
mysqldump -uroot ?-p123 ?m1803 ?user> ?D:/2.sql
```
14、导入数据库
```
1)登录数据库:mysql -hlocalhost -uroot -p123
2) 切换数据库:use m1806
3)导入数据:source D:/1.sql;
```