MySQL笔记(DDL、DML、DQL)

目录

DDL

注释方法

创建、使用、查看数据库

创建表

删除表

添加字段

修改字段

删除字段

重命名表

重命名字段

常见的mysql数据类型

DML

插入数据

修改数据

删除数据

DQL

总结


DDL

数据定义语言,用来操作数据库和数据表结构

注释方法

--注释
/*注释*/
# mysql特有注释
sql不区分大小写,关键字最好大写

创建、使用、查看数据库

--创建数据库databasename
create database if not exists databasename;
--使用数据库databasename
use databasename;
--查看所有数据库
show databases;
--删除数据库databasename
drop database if exists databasename;
--重命名数据库
alter database old_database_name modify name = new_database_name;  

创建表

create table if not exists stu(#if not exists都是可以不加的
	#表头 字段名
	#字段类型
	id int(4) comment '学生编号',--逗号隔开
    gender char(1) comment '性别',--comment可加可不加,就是一个备注
    username varchar(20),
    hiredate date
);

删除表

drop table stu;

添加字段

alter table student add email varchar(20);

修改字段

alter table student modify id varchar(20);

删除字段

alter table student drop email;

重命名表

rename table student to stu;

重命名字段

alter table student change hiredate `date` date;
--date是关键字会冲突,所以要用``符号区分,这个不是双引号,是esc下面那个按键

常见的mysql数据类型

  • 整数:int,bigint  int(3)代表最大支持999
  • 小数:double  double(4,2)代表最大长度4,小数点后最长两位
  • 在Oracle中不分小数和整数,都叫number  number(3)代表最大支持999,number(4,2)代表最大长度4,小数点后最长两位
  • 字符串/字符:char,varchar  char(4)代表4个字符存入,少于4个字符会用空格补齐;varchar(4)代表最多存4个字符,存入什么就是什么;字符/字符串用单引号套用
  • 时间:date,time,datetime  date年月日 time时分秒 datetime年月日时分秒;输入时间用单引号套用,默认格式'yyyy-MM-dd hh:mm:ss'

DML

用来对数据进行增删改操作(大部分可撤销)

插入数据

insert into student values (1001,'男','tom','2022-07-20');--值的顺序必须和定义字段时一致
insert into student values (null,'','davie',null);--null和''是不一样的,''是有内容的
insert into student (name,id) values ('张三',1003);--不要求顺序和数量,没有的字段默认null

修改数据

update student set id = 1000;--这样会把所有的记录都改了
update student set sex = '女' where name = '张三';--where筛选条件
update student set sex = '男',hiredate = '2022-7-25' where name = '张三';--批量操作

删除数据

delete from student;--删除表内所有数据
delete from student where id = 1001;
--delete删除可撤销
truncate table student;--删除整个表,再创建一个字段名和原来相同的空表
--truncate删除效率高,但是不可撤销

DQL

用来查询数据

--全部查询
select * from student;--查询效率低,因为要先把*转换成所有字段
select deptno,dname,loc from dept;--手动查询,效率较高
--条件查询
select * from emp where empno = 7369;> >= < <=都支持
select * from emp where sal<3000;
select * from emp where ename >'JONES';--根据ASCII码比较
select * from emp where hiredate > '1981-12-17';--支持日期的比较
select * from emp where mgr is null ;--null不能直接比较,是无限大或者无限小,null不能直接运算
--拼接查询
select * from emp where empno=7369 or empno=7876 or empno=7788;
select * from emp where emp in(7369,7876,7788);--等同于上面效果
select * from emp where sal >=950 and sal<=1300;
select * from emp where sal between 950 and 1300;--等同于上面效果,两边都包含
--去重查询
select distinct deptno from emp;
--运算查询
select ename,sal*12 as '年薪' from emp;--as '年薪'是可选操作,就是取个别名
select ename,sal*12+ifNull(comm,0) '年薪' from emp; --ifNull(comm,0):comm如果是null,返回0
select ename from emp where ename like '_A%';--like要搭配占位符,_代表一个字符,%代表任意个字符
--排序查询
select ename,sal from emp order by sal desc;--desc降序,asc升序

总结

  • 数据库的DDL语言用来创建/修改/删除数据库和表
  • DML语言是对记录的增删改
  • DQL语言是对数据库的查询
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值