mysql基础数据操作命令
1:基础命令
1>连接命令
1) 连接远程mysql mysql -h host -P port -u 用户名 -p密码
2)连接本地mysql mysql -u 用户名 -p密码
3)-h连接的mysql 所在服务的IP -P 端口号
2>查看命令
1)查看所有数据库 show databases;
2)使用数据库 use 数据库;
3)查看数据库所有表 show tables;
4)查看当前使用的数据库 select database();
3>操作数据库
1)创建数据库
(1)创建一个学生数据库
create database student charset=utf8;
2)删除数据库
(drop database 数据库名)
4>操作表
1)创建表
案例(1)创建一个学生表(主键id,学号,学生姓名,出生日期,性别)
create table students(
id int primary key auto_increment,
sn char(8) unique not null,
name varchar(20),
birthday date,
gender bool
);
2)删除表
(1)完全删除 drop table 表名;
(2)删除所有内容,保留表结构 truncate 表名
(3)按照行来删除记录 delete
二:数据表
1>约束:
primary key \ not null \ unique \ default \ enum \(指定固定字段值)
2>修改表
1)给已存在的表添加新字段
(1)alter table 表名 add 列名 类型
(2)案例 新建爱好字段 alter table student ADD hobby varchar(30);
2)给已存在的表修改某个字段名类型
(1)alter table 表名 change 原名 新名 类型及约束;
(2)案例:修改gender 字段为枚举类型 , alter table student change gender gender12 enum ('男','女');
3)给已经存在的表字段,只修改字段类型约束
(1)alter table 表名 modify 列名 类型约束;
(2)alter table student modify birthday date not null;
4)删除表中的字段
(1)alter table 表名 drop 列名;
(2)案例 删除表中的hobby字段 alter table student drop hobby
三 :增删改查
1> 数据添加
insert into 表名 (字段1,字段2,字段3,字段4,····)values(v1,v2,v3,v4,·····)
案例插入五条数据 insert into student (sn,name,birthday,gender1)values
("0012","李四","2012-11-23","男"),
("0012","李四","2012-11-23","男"),
("0012","李四","2012-11-23","男"),
("0012","李四","2012-11-23","男"),
("0012","李四","2012-11-23","男");
注意:最好 声明 要插入的字段
主键列是自动增长,但是在全列插入时需要占位,通常使用空值(0或null)
2>数据修改
update 表名 set 字段=值 where 条件
案例把李四性格改为女 update student set gender ="男" where name="张三"
3>数据删除
delete from 表名 where 条件
全部删除 delete from student 一条一条的删除效率低
条件删除 delete from student where name="马六" 删除符合条件的记录
4>数据查询
1)查询结果给字段名起别名
as 就可以取别名
as 可以省略 只需要紧跟在字段后,就是别名
select id ID, sn as 编号,name as 姓名 form student;
2)对结果消除重复 重点 :笑出结果相同的行,只需要两个行中有一字段不一致,则都不会消除
3)条件查询 select * from student where birthday="2012-11-21"
4)模糊查询
like
占位符: % 匹配多个字符 _ 匹配一个字符
select * from student where name like "张%";
select * from student where name like "张_";
5)范围查询
连续的范围 between and
给定值得集合 in 集合
6)排序
默认查询结果是安装id 来排序 而且 升序
如果要降序 使用desc
自定义排序 order by select * from student order order by birthday desc
7)分页
limit 从查询结果中取一部分结果返回
我们获取结果的第3条到第5条
select * from student limit 2,3
select * from student limit 0,3