Mysql
2021-12-18 10:08:46 35 举报
AI智能生成
mysql数据库基本操作
作者其他创作
大纲/内容
数据库
database
数据库创建
直接创建
create database 数据库名
not exists 如果不存在
create database if not exists 数据库名 (名字放后面1)
设置编码格式
create database 数据库名 character set utf8
数据库查找
1、show databases 显示所有数据库
2、show create database 数据库名 显示该数据库信息(一般就编码格式)
2、show create database 数据库名 显示该数据库信息(一般就编码格式)
查找当前使用的数据库
select database()
数据库使用
use 数据库名
数据库修改
一般修改数据库的编码格式
alter database 数据库名 character set gbk;
数据库删除
谨慎,一般不用
drop database 数据库名
表,增删改查
查看该数据库所有表
show tables
查看该表的详细信息
1、desc 表名
2、show create table 表名
2、show create table 表名
增,增加表
CREATE demo(
did INT(11),
dname VARCHAR(20)
);
did INT(11),
dname VARCHAR(20)
);
删,删除表
DROP TABLE 表名
改,修改表
修改表名字
alter table 旧表名 rename to 新表名
表的列操作
alter,所有的都用这个开头
添加列add
在末尾添加列
alter table 表名 add 列名 数据结构
在指定列后面添加
alter table 表名 add 列名 数据结构 after 列名
修改列modify
修改数据类型,不能修改列名
alter table 列名 modify 修改的数据结构
修改列名change
修改表名和数据结构
alter table 列名 change 旧列名 新列名 数据类型
删除列名 drop
alter table 表名 drop 列名
视图view
1、创建视图create view
create view 视图名 as select 查询结果
CREATE VIEW v_s AS SELECT ename,eage FROM emp
CREATE VIEW v_s AS SELECT ename,eage FROM emp
2、视图查询select
和表查询一样
select * from 视图名
select * from 视图名
3、试图修改alter view
alter view 表名 as 查询结果
alter view vs as select ename from emp
alter view vs as select ename from emp
4、删除视图
drop view 视图名
权限管理DCL
在mysql数据库中,有一个叫mysql的数据库,
其中里面存放一张叫user的表,就是存放用户了
自己注册的root 密码1234就是在这里
其中里面存放一张叫user的表,就是存放用户了
自己注册的root 密码1234就是在这里
1、创建用户
create user '用户名'@'主机号
create user 'huazi'@'localhost'
create user 'huazi'@'localhost'
2删除用户
drop user '用户名'@'主机号'
drop user 'huazi'@'localhost'
drop user 'huazi'@'localhost'
3、修改
修改密码
修改密码
update user set password=password('haha1213') where user = '用户名'
4、查询权限
grant 权限类型 on 库名.表名 to '用户'@'主机'
grant select on *.* to 'huazi'@'localhost'
grant select on *.* to 'huazi'@'localhost'
5、撤销权限
revoke 权限类型 on 库名.表名 from '用户名'@'主机'
表的数据增删改
增 insert
单个全部插入
insert into 表名values(数据1,数据2..)
单个可以选择插入
insert into 表名(数据1,数据2..)values(数据1,数据2..)
多个插入
insert into 表名(数据1,数据2) values(数据1,数据2),(数据1,数据2)
删 delete
delete from 表名 where ....
删 turncate,删除表
turncate table 表名
改update
update 表名 set 数据1=..,数据2=.. where ..
表的数据查找(重点)
select
查找所有:select * from 表
查找单个: select * from 表 where ..
去重数据distinct
select distinct 列名 from 表名
条件判断
not 和 !
select * from 表名 where id not in(10,20)
between and
in 这是重点
别名 as
select salary+500 as '增加后的工资' from 表
like
模糊查询,查含有某字母、数字的行
模糊查询,查含有某字母、数字的行
%表示匹配任意字符
_表示匹配指定数量字符
_表示匹配指定数量字符
查询含有A字母的名字
select * from 表名 where name like '%A%'
select * from 表名 where name like '%A%'
查询第二个字母是A的名字
select * from 表名 where name like '_A'
select * from 表名 where name like '_A'
空,非空 is null, is not null
在数据库里,并没有"",
没填的数据为null,
在数据库里,并没有"",
没填的数据为null,
查名字未填的数据
select * from 表名 where name is null
select * from 表名 where name is null
排序 order by
desc 降序 asc升序
desc 降序 asc升序
单个元素升序,可以按照字符串升降序
select * from 表名 order by price desc
select * from 表名 order by price desc
多个元素升降序
select * from 表名 order by price desc,id asc
select * from 表名 order by price desc,id asc
分组 group by
select job,count(1)AS'总数' FROM emp GROUP BY job;
过滤having
select
五大约束
主键约束
primary key唯一
主键的添加:
1、直接在内部添加
2、在外部添加
alter table 表名 add primary key(列名)
1、直接在内部添加
2、在外部添加
alter table 表名 add primary key(列名)
主键删除:
alter table 表名 drop primary key
alter table 表名 drop primary key
唯一约束
unique可多个
1、直接在内部添加,
name varchar(20) unique
name varchar(20) unique
2、在内部添加多个
create table p1(
pid INT(11),
pname varchar(11),
unique(pid,pname)
);
在这里,当pid 和pname都相同时候,才会报错。
create table p1(
pid INT(11),
pname varchar(11),
unique(pid,pname)
);
在这里,当pid 和pname都相同时候,才会报错。
3、外部加入
alter table 表名 add unique(列名);或者
alter table 表名 add contraint 唯一约束名字(改成什么名字) unique(列名)
alter table 表名 add unique(列名);或者
alter table 表名 add contraint 唯一约束名字(改成什么名字) unique(列名)
删除 drop index
alter table 表名 drop index
alter table 表名 drop index
非空约束
not null
直接内部插入,
插入的数据不能为空
插入的数据不能为空
pid int(11) not null;
默认约束
default
1、不插入数据时候,显示默认值
2、插入的是default时,显示的是默认值
3、如果插入了数据,那么将会取代默认值
2、插入的是default时,显示的是默认值
3、如果插入了数据,那么将会取代默认值
pname varchar(20) default '哈哈'
事务
1、手动提交和自动提交
set autocommit = 0 手动提交
set autocommit = 1 自动提交
set autocommit = 0 手动提交
set autocommit = 1 自动提交
2、查询提交方式
select @@autocommit
select @@autocommit
3、事务开启
start trancation
start trancation
4、事务提交
commit
commit
5、事务回滚
rollback
rollback
表与表的关系
一对一
一对多
多对多
0 条评论
下一页