alter table a add column id=1 where name=‘张三’
drop table a;
show tables;
desc a;
create table a(id int primary key)
2.1:主键约束并自增:主键约束的同时数据库会自动+1create table a(id int primary key auto_increment);
id的值插入时写null数据库库会自增
create table b(
id int primary key auto_increment,
pwd varchar(10) not null:非空约束
);
create table b(
id int primary key auto_increment,
pwm varchar(100) unique:唯一约束
)
#查询部门表中的部门名称:
#格式:select 部门名称 from 表名—查询部门表中的部门名称
:–什么都查 字段名:–具体的字段
SELECt * FROM dept
SELECt dname FROM dept; #查询时使用字段名代替了
SELECt dname,loc FROM dept;#查询多个字段的值时用逗号隔开
SELECt dname,UPPER(dname),LOWER(dname),LOWER(‘ABC’) FROM dept
length求长度–一个字母或者数字长度为1,一个汉字的长度是3(utf8)SELECt ename,LENGTH(ename),job,LENGTH(job)FROM emp
截取substr(a,b,c)–a:字段名 b:开始位置 c:截取长度SELECt ename ,SUBSTr(ename,2),SUBSTr(ename,2,2) FROM emp
拼接concat(a,b,c)–a:字段名 b:想要拼接的内容 c:想要拼接的内容SELECt ename ,CONCAt(ename,123,‘abc’) FROM emp
替换内容replace(a,b,c)–a:字段名 b:想要替换的内容 c:替换的内容SELECT dname,REPLACE( dname ,‘o’,‘666’) FROM dept
判断并替换null-ifnull(a,b)–a:字段名 --b要把null替换成的值SELECt comm ,IFNULL(comm,0) FROM emp
对小数的处理:round:四舍五入取整 $ ceil:向上取整 & floor:向下取整SELECt comm ,ROUND(comm),CEIL(comm),FLOOR(comm) FROM emp
对日期的处理:now:获取当前系统时间 & year:获取年 & month:获取月 & day:获取天SELECt NOW(),YEAR(NOW()),MonTH(NOW()),DAY(NOW())
对时间的处理:hour:获取小时,minute:获取分钟, second(获取秒)SELECT NOW(),HOUR(NOW()),MINUTE(NOW()),SECOND(NOW())
五.常见的业务中:增删改查CRUD,其中查询需求最多 1.条件查询: 1.1 distinct去重–只能放在要去重的字段名前SELECT DISTINCT loc FROM dept
1.2 where用来引导判断条件练习1:查询部门编号 = 40的数据
#select ? from ? where?
SELECt * FROM dept WHERe deptno=40
#练习2:查询部门编号>10的数据
SELECt * FROM dept WHERe deptno>10
SELECt* FROM dept WHERe 1=1#条件永远成立
#练习3:查询部门编号>10并且地址在二区的数据
SELECt * FROM dept WHERe deptno>10 AND loc=‘二区’
#练习4:查询部门编号>10或者地址在二区的数据
SELECt * FROM dept WHERe deptno>10 OR loc=‘二区’
#练习5:查询部门编号=10或者=20或者=30的数据
SELECt * FROM dept WHERe deptno=10 OR deptno=20 OR deptno=30
#同上练习五的需求,被简化
SELECt * FROM dept WHERe deptno IN(10,20,30)
SELECt * FROM dept WHERe deptno NOT IN(10,20,30)
#练习1:查询按照员工名字以l开头的员工信息
SELECt * FROM emp WHERe ename LIKE ‘l%’ #以l开头
#练习2;查询按照员工名字包含o的员工信息
SELECt * FROM emp WHERe ename LIKE ‘%o%’ #包含o
#练习3:查询按照员工名字以a结尾的员工信息
SELECt * FROM emp WHERe ename LIKE ‘%a’ #以a
#练习1:查询没有奖金的员工信息
SELECt * FROM emp WHERe comm IS NULL
SELECt * FROM emp WHERe comm IS NOT NULL
SELECt * FROM emp WHERe sal >5000 AND sal<10000
SELECt * FROM emp WHERe sal BETWEEN 5000 AND 10000



