MySQL操作

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect = 'SET NAMES utf8mb4'


alter database 数据库名 character set utf8mb4;修改数据库编码
show variables like '%data%';
show variables like 'character%';查看编码格式
select @@datadir;查询mysql存放数据的目录。
ipconfig; 查看自己ip地址
mysql -h 127.0.0.1 -P3306 -u root -p 123456 -D数据库名称;
exit; 退出mysql;
创建数据库:create database [数据库名]; 
 切换数据库:use [数据库名] ;
 删除数据库:drop database [数据库名] ;
 查询所有数据库:show databases ;
查询当前所在数据库:select database();
create table 表名(
id int comment '学生的名称',
`name` varchar(50),
age int
);  创建表
drop table 表名 ;  删除表
desc 表名; 
show create table 表名;
show full columns(列) from 表名;   查看表结构
show tables;查看所有表
alter table 表名 add column 字段名 数据类型; 添加列
alter table 表名 drop column 字段名;删除列
alter table 表名 change 原字段名 新字段名 数据类型;修改列
alter table 旧表名 rename 新表名;修改表名
alter table 表名 convert to character set utf8mb4;修改表编码格式
insert into 表名 values(int,'varchar','deicmal'),();全列添加
insert into 表名(id,name,math) values(int,'varchar','decimal');指定列添加
select * from 表名;全列查询
select 列名,列名 as 别名 from 表名;指定列查询
select distinct 列名 from 表名;去重
select * from 表名 order by 列名1,列名2 asc(升序 从小到大)desc(降序 从大到小); 多列排序(默认升序)
select * from 表名 where 列名 <=>null;条件查询
mysql执行顺序 1.from 2.where3.group by4.having5.select6.order by 7.limit
 and优先级高于or     先执行的用()
临时表 select s.* from (select 列名 as 别名 from 表名) s where s.别名>0;
select * from 表名 where 列名 between 60 and 100;查询60到100间的
select * from 表名 where 列名 in(60,80);查询60或80的
select * from 表名 where 列名 like '刘%';查询姓刘的  %匹配多个任意字符 _匹配一个
select * from 表名 limit 几条一页(最多300) offset 跳过前多少条)
update 表名 set 列名=85 where name=‘......‘;将......的成绩改为85
delete from 表名 where 列名='...' limit 1;删除一个数据
drop table 表名;删除表
truncate table 表名;删除表中所有数据
rollback;恢复delete删除的数据 
set autocommit=0;关闭自动提交
show keys from 表名\G;查看约束
not null 不为空
unique 唯一
default '.....' 默认值
primary key 主键
foreign key 字段名 references 主表(列名)  外键
check(sex='男' or sex='女') 检查    (版本不够)
auto_increment 自增
now() 当前时间 
insert into 表名 () select name from 表名 where ; 把一张表中的数据插入到另一张表
select count(*) from 表名;查询一共多少信息
select sum(math) from 表名;查询总分
select avg()  from 表名;平均值
select  ifnull( math,0 ) from 表名 ;如果为null返回0
select * from 表名 group by 列名;根据分组依据字段分组 
having avg()>1000;平均工资大于一千才显示
select s.* from class c,student s where c.id=s.class_id and c.id=2;
select s.* from class c  join student s on c.id=s.class_id and c.id=3;联合查询
select s.*,c.*,sc.* from class c,student s,score sc where c.id=s.class_id and s.id=sc.student_id and sc.score>60;
select s.*,c.*,sc.* from class c join student s on c.id=s.class_id join score sc on s.id=sc.student_id;三表联合查询
select s.* from class c left join student s on c.id=s.class_id and过滤不了左表(where全局过滤)c.id<2;外连接
select * from class c1,class c2 where c1.id=c2.id;自连接
select * from student where class_id=(select class_id from student where name='王五');子查询
union all将结果集全部显示出来

union会筛选掉重复的

1.开启事务(start transaction)。2.执行多条SQL。3.提交/回滚事务(commit / rollback)。

事务的四大特性:①原子性:一个事务中的所有操作,要么全部执行成功,要么全部执行失败。

②持久性:事务执行完成之后,它所做的所有修改都是永久的(不会丢失)。

③一致性:一个事务在执行前后数据必须保持一种合法的状态,事务总是从一个一致状态到另一个一致状态。

④隔离性:多个事务并发访问时,事务之间是相互隔离的,一个事务不应该被其他事务干扰,多个并发事务之间要相互隔离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值