Mysql数据库的基本操作
总注:所有sql语句结尾处最好加上分号符;
MySQL中的一些语句使用方法:
#查看所有的数据库
show databases;
#查看数据库下所有的表
show tables;
注:sql语句不区分大小写,但是严重区分中英文符号,不允许使用中文符号。
#创建数据库
create database test2;
#使用数据库
use test2;
注:使用数据库时,不能忘记这句。
#创建表 需要创建主键 主键是唯一的,不能为空。Primarykey为主键唯一标识
# auto_increment:设置自增 unique:唯一约束 notnull:不为空约束
create table login(
idint(8) primary key auto_increment,
username varchar(20) unique,
password varchar(20) not null,
role int(8) not null
);
#查看表设计
desc login;
注:表创建之后,可以通过查看表设计,来检查创建的表是否满足要求。
#不按照字段添加,那么就需要按照表设计的字段顺序添加
Insert into login values(1,’joker12345’,’123456’,1);
#按照字段添加 必须为主键设置自增,否则必须给主键赋值
insert into login(username,password,role)values(‘wangzhe123’,’23333’,2);
insert into login(username,password)valus(‘wangfei’,’21233’);
#添家多条数据
Insert into login(username,password,role)values(‘张飞122’,’123’,1),(‘关羽11’,’123456’,1),(’刘备123’,’128146’,2);
#删除表
drop table login;
#删除数据库
drop database test2;
#删除drop 与delete的区别
#drop是删除表 表不存在 delete是删除表中的数据,表仍然存在
delete from student where id =1
#删除表中所有数据
delete from student
改:
#修改数据
注:set 后面的使用逗号分隔而不是用and 只有where 条件语句后使用and 代表并且
update student set username=’龙傲天’,password=’123456789’ where id=1
查:
# * 代表是所有的字段,查看当前表中所有的数据
select * from login;
#只查询姓名和年龄 select后为查询的字段 from表
select password from login;
#查询姓名不是张飞的用户信息
select * from login where username!='张飞';
select * from login where username<>'张飞';
# like模糊查询
# 查询名字中带有‘张’的用户信息
select * from login where username like '%张%';
#查询权限在2-5之间的用户
select * from login where role between 2and 5;
#查询id包含2,3,5的用户信息
select * from login where id in(2,3,5);
#分页 第一个参数为索引,通过索引得到页数,第二个参数为每次显示的条数
select * from login limit 2,2;
#将学生的年龄从小到大排序 order by为排序本身就有从小到大的功能asc: 小-大 desc:大-小
select * from login order by role asc;
#聚合函数count(统计总数) sum(求和) avg(平均值) max(最大值) min(最小值)
select count(*) from student;
#添加字段 phoneNumber
alter table login add phoneNumbervarchar(30) not null;
#将username 修改为uname
alter table login change username unamevarchar(20) unique;
#将phoneNumber 放到password后面
alter table login modify phoneNumbervarchar(30) after password;
#删除表字段
alter table login drop phoneNumber;
#更改表名
alter table login rename m_login;
#一张表的外键是另外一张表的主键 外键可以创建多个 但是主键只能创建一个
#外键的值可以重复。
#设置外键 必须先给主键的创建了数据才能给外键表进行添加数据 on delete cascade:级联删除
#设置了级联删除,既可以删除主表数据由可以删除外键表数据,一旦删除主表数据,外键的关键的数据一并删除
alter table student add constraint foreignkey(sno) references login(sno) on delete cascade;
#表的复制 将student的数据复制到新创建的表student2中
create table student2 as select * fromstudent;
#创建视图 视图是虚拟的表其数据来源是真实的表
create view lon_view as select id,username,password from u_login;
参考:https://blog.csdn.net/ztyxy1115/article/details/78975449