MySQL中删除数据库的基本语法格式为_Mysql基础操作(DQL,DML,DDL,DCL)

Mysql基础操作(DQL,DML,DDL,DCL)

1.1 数据库的四种语法

数据查询语言DQL,

数据操纵语言DML, database manipulate / məˈnɪpjuleɪt/控制,操纵,影响

数据定义语言DDL,

数据控制语言DCL。

1.1.1 数据查询语言DQL

数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:

SELECT

FROM

WHERE

1.1.2 数据操纵语言DML

数据操纵语言DML主要有三种形式:

1) 插入:INSERT

2) 更新:UPDATE

3) 删除:DELETE

1.1.3 数据定义语言DDL

数据定义语言DDL用来创建数据库中的各种对象—–表、视图、索引、同义词、聚簇等如:

CREATE    TABLE    VIEW    INDEX    SYN    CLUSTER

创建    表    视图    索引    同义词    簇

DDL操作是隐性提交的!不能rollback

1.1.4 数据控制语言DCL

数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:

1.1.4.1 GRANT:授权。

1.1.4.2 ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。

回滚—ROLLBACK

回滚命令使数据库状态回到上次最后提交的状态。

其格式为: SQL>ROLLBACK;

1.1.4.3 COMMIT [WORK]:提交。

在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。提交数据有三种类型:显式提交、隐式提交及自动提交。下面分别说明这三种类型。

(1) 显式提交

用COMMIT命令直接完成的提交为显式提交。其格式为:

SQL>COMMIT;

(2) 隐式提交

用SQL命令间接完成的提交为隐式提交。这些命令是:

ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,

EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。

(3) 自动提交

若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,

系统将自动进行提交,这就是自动提交。其格式为:

SQL>SET AUTOCOMMIT ON;

DQL常见命令

1.在一个表中查询查询

select ENAME,JOB FROM emp;

2.在emp中查询姓名,工作岗位和年薪

select ENAME,JOB,SAL*12 FROM emp;

select ENAME,JOB,SAL*12 as yearsal FROM emp;

注:在月薪后面*12即可;as可以省略;as后面是别名.

3.查看全部信息

select * from emp;

注:不建议这样使用*,因为mysql会自动的把* 转换成表中的信息,这样会大大降低性能.

4.查询薪水是5000的员工

select ENAME,EMPNO FROM emp where SAL=5000;

5.查询工作是CLERK的员工

select ENAME,EMPNO FROM emp where JOB='CLERK';

6.查询薪水不等于5000的员工

select ENAME from emp where SAL <>5000;

7.查询薪水1600-3000的员工

select ENAME from emp where SAL>=1600 and SAL<=3000;

8.查询津贴为空的员工

select ENAME from emp where COMM is null;

9.查询工作岗位

select ENAME from emp where COMM is null;

10.查询工作为CLERK或MANAGER的员工

select ENAME,JOB from emp where JOB='CLERK' or JOB='MANAGER';

11.查询薪水大于1800并且部门编号是20或30的员工

select ENAME,JOB,SAL from emp where SAL>=1800 and (DEPTNO='20' or DEPTNO='30');

12.查询工作为CLERK或MANAGER的员工

select ENAME,JOB from emp where JOB='CLERK' or JOB='MANAGER';

注:in的执行效率低

13.like 模糊查询,数据量大的时候,影响性能;

DML常见命令

DML是对数据库表中的数据增删改的操作.

1.插入数据:

insert into emp(id,name,sex,birthday,salary) values (1,'dupudupu','男','2011-09-08',1000);

也可以这样写,省略前面括号里面的内容

insert into emp values (2,'Paul','男','2018-09-22',800);

批量插入:

insert into emp values

(3,'Lili','女','2017-06-25',3000),

(4,'Hali','男','2014-09-08',1000),

(5,'Soso','女','1997-07-30',10000),

(6,'Mama','女','1789-03-25',8888);

3.修改数据:当我在Mysql Workbench中使用下面的语句时,出现了错误

update emp set name='Dupu' where id = 1;

首先语句是没有错的,经查询

错误原因:是在safe mode下,要强制安全点,update只能跟where

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.

解决方案 : 执行命令---->SET SQL_SAFE_UPDATES = 0;

4.删除数据

delete from emp where id=6;

DDL常见命令

DDL主要负责数据库的创/改/查/删以及表格的创/改/查/删

1.创建数据库:

create database [数据库名] character set [字符编码];

例如:

create database study1 character set utf8;

2.查看数据库:

show databases;

3.查看数据库创建明细:

show create database [数据库名字];

4.修改数据库编码:

alter database [数据库名] character set [字符编码];

5.删除数据库:

drop database [数据库名];

6.使用数据库:

use [数据库名];

7.创建表格:

create table employee(id int,name varchar(20),sex char(2),birthday date,job varchar(50),salary double(7,2));

8.查看表的结构:

desc [表名];

9.在表中插入列:

alter table employee add address varchar(100);

10.修改列字符的属性:

ALTER TABLE employee MODIFY job VARCHAR(20);

注:即将原来varchar(50)改为20;

11.删除某列:

ALTER TABLE employee DROP address;

12.更改表名:

RENAME TABLE employee to user;

13.查看表的创建细节:

SHOW CREATE TABLE user;

14.修改字段名:

ALTER TABLE user CHANGE name username VARCHAR(10);

15.删除表:

DROP TABLE user;

16.删除索引

ALTER TABLE `user` DROP INDEX index_mobile;

17.创建联合索引

CREATE INDEX TABLE_username_password ON TABLE(username,password)

create index union_t on user_info(uname,departname)

18.显示所有索引

show index from tb1;

19.删除主键索引

alter table user_info drop primary key;

DCL命令

1. 创建用户

SQL语句    注意说明

create user "用户名"@"IP地址" identified by "密码";    用户只能在指定的IP地址上登录

create user "用户名"@"%" identified by "密码";    用户可以在任意IP地址上登录

命令演示

mysql> CREATE USER "demo_user"@"127.0.0.1" IDENTIFIED BY "123456";

mysql> CREATE USER "demo_user1"@"%" IDENTIFIED BY "123456";

mysql> CREATE USER "demo_user2"@"localhost" IDENTIFIED BY "123456";

2. 给用户授权

SQL语句    注意说明

grant 权限1,权限2,... on 数据库.* to "用户名"@"IP地址"    给用户分派在指定的数据库的指定的权限

grant all on 数据库.* to "用户名"@"IP地址"    给用户分派在指定数据库的所有的权限

mysql> GRANT UPDATE, INSERT, DROP, DELETE ON demodb.* TO 'demo_user'@'127.0.0.1';

3. 撤销授权

SQL语句    注意说明

revoke 权限1,...,权限n on 数据库.* from "用户名"@"IP地址"    撤销指定用户在指定数据上的指定权限

mysql> REVOKE INSERT, UPDATE ON demodb.* FROM 'demo_user'@'127.0.0.1';

row | row

4. 查看权限

SQL语句    注意说明

show grants for "用户名"@"IP地址"    查看指定用户的权限

命令演示

mysql> SHOW GRANTS FOR 'demo_user'@'127.0.0.1';

5. 删除用户

SQL语句    注意说明

drop user "用户名"@"IP地址"    删除用户

命令演示

mysql> DROP USER "demo_user2"@"localhost";

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值