MySQL。

持续更新······

sql语句不分大小写,但是建议关键词大写

注释

单行注释:
①-- 注释内容:两个横杠一个空格,空格不可省,后面加注释内容
②#注释内容:
多行注释:
/*注释 */

数据库的操作

show databases; -- 查看数据库

创建数据库

create database if not exists db1; -- 创建数据库db1

使用数据库

use db1; -- 使用数据库db1

表的操作

show tables; -- 查看某数据库中所有表名称

如果该表不存在创建表
name姓名字段:数据类型为varcahr(32),长度为32
age年龄字段:数据类型为int
中间同···
score 分数字段:数据类型为double,长度为4,保留1位小数

create table if not exists stu (
name varchar(32), 
age int,
gender varchar(2),
score double(4,1) 
);

复制表

create table stu1 like stu; -- stu1表复制stu表

查询表结构

desc stu; -- 查询stu表结构

查询表中所有数据

select * from stu; -- 查询stu表中所有数据

修改表名

alter table stu1 rename to stu2; -- 修改stu1的表名为stu2

修改表字符集

alter table stu2 character set utf8; -- 修改表字符集为utf8

在表中添加一列

alter table stu2 add birthday date; -- 在stu2中添加一列birthday,数据类型为date

修改列名

alter table stu2 change gender sex varchar(2); -- 修改stu2表的gender列名为sex

修改某列的数据类型

alter table stu2 modify sex varchar(20); -- 修改stu2表中sex列的数据类型

删除某列

alter table stu2 drop sex; -- 删除stu2表中的sex列

删除表

drop table if exists stu2; -- 如果表stu2存在,删除stu2表

DML增删改表中的数据

添加数据

INSERT INTO stu2(name,age,gender,score) VALUES('张三',18,'男',100);  -- 列名和值要一一对应

不写列名,就默认给所有列添加值,但是可以给不想添加那列的值赋值为NULL

INSERT INTO stu2 VALUES('李四',20,'女',100);

删除数据

DELETE FROM stu2 WHERE name = '张三'; -- 删除姓名为张三的那行数据

删除表,然后创建一个一样的空表

TRUNCATE TABLE stu2;

修改数据

UPDATE stu2 SET age = 20 WHERE name='张三'; -- 修改张三的年龄为20

命令行数据库备份和还原

备份格式为:mysqldump -u用户名 -p密码 数据库名 > 保存的路径

mysqldump -u用户名 -p密码 db1 > d://a.sql -- 备份db1数据库到d盘根目录

还原:(得先备份)
先删除数据库db1

drop database db1;

创建数据库

create database db1;
use db1;
source  D:\\a.sql -- source后面跟备份文件的目录

事务

START TRANSACTTON; -- 开启事务方式一
BEGIN; -- 开启事务方式二
COMMIT; -- 提交事务
ROLLBACK; -- 回滚事务

四大特征:原子性、持久性、隔离性、一致性
查看事物的默认提交方式:

SELECT @@autocommit; -- 1代表自动提交,0代表手动提交

DCL用户管理授权

1.切换到mysql数据库

USE mysql;

2.查询user表

SELECT * FROM USER;

创建用户:
CREATE USER ‘用户名’@‘主机名’ IDENTIFIED BY ‘密码’;

CREATE USER 'zhangsan'@'localhost' IDENTIFIED BY '123';
CREATE USER 'lisi'@'%' IDENTIFIED BY '密码'; -- 表示在任意主机使用用户登录数据库

删除用户
DROP USER ‘用户名’@‘主机名’;

DROP USER 'zhangsan'@'localhost';

修改密码:
方式一:
UPDATE USER SET PASSWORD = PASSWORD(‘新密码’) WHERE USER = ‘用户名’;

UPDATE USER SET PASSWORD = PASSWORD('456') WHERE USER = 'lisi';

方式二:
SET PASSWORD FOR ‘用户名’@‘主机名’ = PASSWORD(‘新密码’);

SET PASSWORD FOR 'lisi'@'%' = PASSWORD('456');

查询权限:
SHOW GRANTS FOR ‘用户名’@‘主机名’;

SHOW GRANTS FOR 'lisi'@'%';

授予权限
GRANT 权限列表 ON 数据库名.表名 TO ‘用户名’@‘主机名’;

GRANT SELECT,DELETE,UPDATE ON db1.stu TO 'lisi'@'%';
GRANT ALL ON *.* TO 'lisi'@'%'; -- 授权所有权限,在任意数据库,任意表

撤回权限:
REVOKE 权限列表 ON 数据库名.表名 FROM ''用户名@‘主机名’;

REVOKE SELECT,DELETE,UPDATE ON db1.stu FROM db1.stu 'lisi'@'%';

持续更新······

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值