MySQL数据库学习小记

it2023-06-22  74

1.创建数据库

create database xxx show table database xx --查看创建数据库的语句 show create table xx --查看数据表的创建语句 desc xx --显示表结构

2. 创建数据表

#创建数据表student create tables if not exists students( `id` int(4) not null auto_increment '学号', `name` varchar(20) not null defualt '匿名' comment '姓名', `sex` varchar(20) not null comment '性别', `address` varchar(30) default null comment '住址', primary key(`id`) )engine=innodb default charset=utf8;

3.修改表

alter table xx(旧表名) rename as xx1(新表名) --重命名表xx为xx1 --添加字段 alter table xx add age int(11) --修改表的字段(重命名,修改约束) alter table xx modify age varchar(11) alter table xx change age age1 int(11) --字段重命名 alter table teacher1 drop age1 -- 删除表teacher1中的字段age1 alter table if exists xx drop age1 -- 删除表xx中的字段age1

4.数据库操作语言(DML)

insert insert ---插入语句 instert into 表名 (字段) values ('value值') --同一个字段插入多个值 insert into 表名(字段) values('value1'), ('value2'), ('value3') --插入多条语句 insert into 表名([字段名1, 字段名2,...]) values ('value1', 'value2', 'value3',...)

 2. update

update update `表名` set `colnum_name` = value, [`colnum_name`=value, ...] where [条件] #将表中列明为name,id-1的值改为张三 update `表名` set `name`=’张三' where id =1 #修改多个属性,逗号隔开 update `student` set `name`='John', `email`='23423423@qq.com' where id=1 where条件语句 =, <>, <, > , <=, >=, between...and..., and, or

  3.delete

delete 语法: 删除指定数据 delete from `表名` where `id`= 1; truncate ’表名' delete与truncate比较 truncate重新设置,自增列,计数器会归零 truncate 不会影响事务

  4.查找select

   

//查询student表中所有的内容 select * from student #查询指定字段 select ` `, ` ` from student #查询student表中studentno,studentname中的值并使用别名学号和学生姓名显示 select `studentNo` as 学号, `studentname` as 学生姓名 from student #函数 concat(a, b) select concat('姓名:', studentname) as 新名字 from student #去重查询 select distinct `studentno` from result #查询MySQL版本 select version() #计算算法结果 select 300*3-1 as 计算结果 #查询自增的步长 select @@auto_increment_increment #考生成绩+1 select `studentno`, `studentresult`+1 as '提分后' from result 数据库中的表达式:文本值,列,null,函数,计算表达式,系统变量.... select 表达式 from 表 where条件 运算符(两种写法都可以,一般写英文) and && or || not !

  5.模糊查询

   

#模糊查询 运算符 is null 如果操作符为null返回真 is not null between and a between b and c 若a在b和c之间返回真 like a like b sql匹配,如果a匹配b,则结果为真 in a in (a1, a2, a3,...) 假设a在a1,a2,... 之间,返回真 #查询只有两个字的刘姓学生 select `studentno`, `studentname` from `student` where studentname like '刘%_' #查询名字中间有“嘉”字的同学 select `studentno`, `studentname` from `student` where studentname like '%嘉%' #查询三个字的刘姓同学 select `studentno`, `studentname` from `student` where studentname like '刘__' #查询学号在1001,1002,1003之间的学生 select `studentno`,`studentname` from `student` where studentno in (1001, 1002, 1003) #查询住址在北京的学生 select * from student where address in ('北京朝阳') #查询地址为空的同学 select * from student where address is null; #查询地址不为空的同学 select* from student where address is not null

 

最新回复(0)