SQL语言不区分字母大小写,为了方便,本人统一使用小写字母
启动数据库
net start mysql
停止数据库
net stop mysql
输入密码后进入mysql
mysql -u root -p
显示所有数据库
show databases;
创建test数据库
create database test;
使用test数据库
use test;
显示该数据库的所有表
show tables;
创建employees表
create table employees(id int, name varchar(15), 属性名称 属性类型);
向表中插入tom员工
insert int employees values(1001,'tom');
MySQL的5.7版本插入中文会报错
解决方法可参考 https://blog.csdn.net/qq_46874327/article/details/121591169
显示该表的所有信息,*代表所有属性
select * from employees;
删除test数据库
drop database test;
删除表
drop table employees;
查询employees中的name和age属性
select name,age from employees;
where子句:相当于if
select * from employees where name='小明' and age = 18;
查询姓名为小明,年龄为18的对象的所有信息
update:更新
update employees set name='大明',age=19 where name='小明' and age = 18;
将employees中所有名字为小明,年龄18的对象,更改名字为大明,年龄19
delete:删除
delete from employees [where]
删除employees中的对象,可用where限制,不使用where则全部删除
注意只是删除表中的对象,表还存在
like:用于获取含有某字段的数据, % 相当于正则表达式中的 *,表示任意长度的字符
select * from employees where name like '张%'
读取所有名字中第一个字为 张 的数据
union:将两个以上的select组合起来
select name from employees [where] union [all] select name from student [where];
假设student已经创建并有数据
获取employees和student中的名字,并将其合并起来
all 表示 返回所有结果集,包括重复数据
order by:排序
select name from employees order by name [asc | desc] (默认asc)
asc为升序,desc为降序,可以添加 where...like 子句来设置条件
若想要中文按照拼音首字母排序,如果字符集采用的是utf8(万国码),要对字段进行转码
select name from employees order by convert(name using gbk)
group by:根据一个或多个列对结果集进行分组,在分组的列上可以使用count,sum,avg等函数
select name,count(*) from emloyees group by name;
将名字进行分组,并统计每个人有多少条记录