初级玩转数据库操作

SQL分类

  • DDL:数据定义语言
    • create(创建)、drop(删除)、alter(修改)
  • DML:数据操纵语言
    • insert(插入)、update(更新)、delete(删除)
  • DQL:数据查询语言
    • select(查询)
  • DCL:数据控制语言
    • grant(授予权限)、revoke(撤销权限)

数据库操作命令

进入数据库

mysql -uroot -p

查看所有数据库信息

show databses;

创建数据库

create database 数据库名;

切换数据库

use 数据库名;

创建表

create table info (id int(4) not null primary key auto_increment,name varchar(10));
mysql> desc info;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(4)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(10) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)

注解:
primary key 主键
auto_increment 自增(数字)
varchar 长度不固定可以超过
decimal (5,2)精准控制:5个有效数字,2小数点后面保留两位 (100.00)

添加表信息
方式(一)

mysql> insert into info (id,name) values (1,'T1'),(2,'T2');
mysql> select * from info;
+----+------+
| id | name |
+----+------+
|  1 | T1   |
|  2 | T2   |
+----+------+
2 rows in set (0.00 sec)

方式(二)

mysql> insert into info values (3,'T3');
mysql> select * from info;
+----+------+
| id | name |
+----+------+
|  1 | T1   |
|  2 | T2   |
|  3 | T3   |
+----+------+-------+
3 rows in set (0.00 sec)

查看所有表

show tables;

查看表结构

desc 表名;

删除数据库和表

  • 删除指定的数据表
drop table [数据库名].表名
  • 删除指定的数据库
drop database 数据库名

插入一个新字段
语法结构: alter table 表名 add column 字段名 字段类型;

alter table info add column score decimal (5,2);
mysql> desc info;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(4)       | NO   | PRI | NULL    | auto_increment |
| name  | varchar(10)  | YES  |     | NULL    |                |
| score | decimal(5,2) | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

删除字段
语法结构: alter table 表名 drop column 字段名;

mysql> alter table info drop column score;
mysql> desc info;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(4)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(10) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

修改、更新数据库中的记录
语法结构: update 表名 set 字段名1=值1 where 条件表达式;

update info set name='zhangsan' where id=2;
mysql> select * from info;
+----+----------+
| id | name     |
+----+----------+
|  1 | T1       |
|  2 | zhangsan |
|  3 | T3       |
+----+----------+
3 rows in set (0.00 sec)

数据表中删除指定的数据记录
语法结构: delete from 表名 where 条件表达式

delete from info where id=2;
mysql> select * from info;
+----+------+
| id | name |
+----+------+
|  1 | T1   |
|  3 | T3   |
+----+------+
2 rows in set (0.00 sec)

数据查询

  • 不指定条件查询
    语法结构: select 字段名1,字段名2, … from 表名;
mysql> select * from info;
+----+------+
| id | name |
+----+------+
|  1 | T1   |
|  3 | T3   |
+----+------+
2 rows in set (0.00 sec)

语法结构: select 字段名1,字段名2, … from 表名 where 条件表达式;

mysql> select * from info where id=1;
+----+------+
| id | name |
+----+------+
|  1 | T1   |
+----+------+
1 row in set (0.00 sec)

清空表

(一)delete from 表名
(二)truncate table 表名

克隆表
create table 新表名 like 被克隆的表名;
insert into 新表名 select * from 被克隆的表名;

数据库用户权限

■ 授权

  • grant 权限列表 on 数据库名.表名 to 用户名 @ 来源地址 identified by ‘密码’;
    • grant all on user.* to ‘tl’@‘localhost’ identified by ‘123456’;

■ 查看用户权限

  • show grants for 用户名@来源地址;
    • show grants for ‘root’@‘20.0.0.12’;

■ 撤销用户权限

  • revoke 权限列表 on 数据库名.表名 from 用户名@来源地址;
  • revoke all on user.* from ‘root’@‘localhost’;
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值