数据库的基本命令
数据库的增删改查
连接数据库
游客登陆
- mysql
账号密码登陆
- mysql -uroot -p
- 回车后敲密码
- 密码不显示
- 所以推荐回车后敲密码,安全
连接指定服务器的mysql
- mysql -h ip地址 -P 端口号 -u 账号 -p
- 回车后敲密码
退出数据库
- exit
- quit
用户
查看当前登陆的用户
- select user();
root权限下可以查看所有用户信息
- select * from mysql.user;
- select * from mysql.user \G
root登陆下删除用户
- delete from mysql.user where 条件;
root登陆下修改密码
- update mysql.user set password=password('密码') where 条件;
没有登陆,修改密码
- mysqladmin -uroot -p旧密码 -hip地址 password "新密码"
roo为用户分配权限
- grant 权限们 on 数据库.表 to 用户名@'主机名' identified by '密码';
- grant on to by 语法 用来创建用户
- 权限
- all 表示所有权限
- select 查询
- delete 删除记录
- update 修改记录
- insert 插入记录
- drop 删除数据库和表
- alter 修改数据库格式,和表的字段格式
- 数据库.表
- 数据库为*
- 表示所有数据库
- 表为*
- 表示某数据库下的所有表
- 数据库为*
- 用户名@‘主机名’
- 用户名表示的创建的用户的用户名
- 主机名为'localhost'表示用户只可以通过本机登陆
- 主机名为'%' 表示用户可以通过任何机器登陆
- '密码'
- 表示为用户创建的登陆密码
撤销用户权限
- revoke 权限1,...,权限n on 数据库.表 from 用户@'主机名';
- revoke on from 语法 用来撤销权限
- 权限
- all 表示所有权限
- select 查询
- delete 删除记录
- update 修改记录
- insert 插入记录
- drop 删除数据库和表
- alter 修改数据库格式,和表的字段格式
- 数据库.表
- 数据库为*
- 表示所有数据库
- 表为*
- 表示某数据库下的所有表
- 数据库为*
- 用户名@‘主机名’
- 用户名表示的创建的用户的用户名
- 主机名为'localhost'表示用户只可以通过本机登陆
- 主机名为'%' 表示用户可以通过任何机器登陆
删除用户
- drop user 用户名@'主机名';
库
查看已有数据库
- show databases;
选择某个数据库进入
- use 数据库名
- PS无法退出数据库,只能用use继续切换数据库
查看当前所在数据库
- select database();
创建数据库
- create database 数据库名 [charset=编码格式];
- [] 表示可选
查看创建数据库时详细内容
- show create database 数据库名;
修改数据库的字符编码格式
- alter database 数据库名 charset[=]新的字符编码格式
删除数据库
- drop database 数据库名;
表
创建表的完整语法
# 长度和约束在某些情况下是可以省略的
mysql>: create table 表名 (
属性名1 类型(长度) 约束,
...
属性名n 类型(长度) 约束
) engine=引擎 default charset=utf8;
查看表
- show tables;
创建表
- create table 表名(字段)
查看创建表的详细信息
- show create table 表名;
查看创建表的结构
- desc 表名;
修改表的结构——字段即类型修改
- alter table 数据库名.表名 change 原字段名 现字段名 格式
删除表
- drop table 表名;
表的修改
-
修改表名
- alter table 旧表 rename 新表;
-
修改字段名
- alter table 表名 change 旧字段 新字段 类型(长度);
-
修改字段属性
alter table 表名 modify 字段 新类型(长度);
-
PS:修改字段名的时候可以修改同时字段属性,
用来取代修改字段属性
记录
查看表中的所有字段
- select * from 数据库.表名;
给表中的字段插入数据
- insert into 数据库名.表名 values (值,..,值)
根据条件修改指定内容
- update 数据库名.表名 set 字段1新值,...,字段n=新值 where 条件
根据条件删除记录
- delete from 数据库名.表名 where 条件;