• Mysql常用操作


    create database python if not exits; #创建数据库
    create table student( name varchar(20),age int); #创建表
    create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date); #有条件创建表

    create table tb(id int default 0); #默认0
    alter table tb add name varchar(20) default "no"; #默认no
    insert into tb values(1,'fei');
    insert into tb(id) values(2);
    insert into tb(name) values('qing'); #指定字段插入
    alter table tb add class tinyint;
    insert into tb values(3,'lu',2);
    insert into tb values(default,default,5); #没明确赋值,则按照默认值赋值。
    create table tb3 (id int unique key,name varchar(20)); #唯一key
    insert into tb3 values (1,"name2");
    create table tb4(id int primary key,name varchar(20)); #主key=非空+唯一
    create table tb5(id int primary key auto_increment,name varchar(20)); #auto需要和主key结合使用
    insert into tb5 values (default ,"name5"); #

    create table b(id_b int primary key,name varchar(20),pyhone int,foreign key(id_b) references a(id_a)); # 外key
    create table sel( s_id int,cours_id int,primary key(s_id,cours_id), foreign key(s_id) references student(id),foreign key(cours_id) references cours(cours_id)); #表关系,一对,一对多,多对多

    create table student(id int primary key,sex enum('M','F') ,age tinyint(4) ,name varchar(20)) ; #enum枚举
    create table cours(cours_id int primary key auto_increment,cours_name varchar(20) not null);

    insert into student(id) values(7); #指定字段插入
    insert into studen values("feifei",18) #单行插入
    insert into student values('1a2',20),('1a3',20),('1a4',20),('1a5',20); #多行插入
    update name set csny='1971-01-10' where xm='张三'; #更新

    select * from student; #查询
    select * from student where age >=20; #条件查询
    select * from student where name is NULL; #is null
    select * from student where class='sen' and age=20 ; #and 都满足
    select * from student where (class = 'sen' or age=20 )and sex='F' ;
    select * from student where not class='sen' ; #Not
    select * from student order by id desc ; #倒序 asc升序
    select age,name from student order by name ; #依据name打印age和name字段
    select * from student limit 3; #显示3行
    select * from student limit 2, 3; #从第2行开始,连续打印3行
    select * from student where (class='sen' or class='TO' )and (age=20 or age=21) order by id desc limit 5;# 联合查询
    select distinct name from student; #去重
    select * from student where name like 'b%'; # %匹配多个字符,不能查询NULL空值哟
    select * from student where name like 'ba_'; #_只能匹配一个字符哟
    select * from student where id>=2 and id <=6;
    select count(age) from student; #统计行书,null值不算

    select MAX(age) from student; #取最大值
    select avg(age) from student; #取平均值
    select sum(age) from student; #求和
    select sum(age),max(age),avg(age),count(age) from student; #来张表格
    select group_concat(age) from student; #分组取值
    select id,group_concat(name),age,class from student group by class; #分组取值,生成表格
    select class,avg(age) from student group by class; #分组取值
    select name from student group by class; #group by还会去重功能哟,分组情况:只能出现聚合和分组字段,不然没意义。
    select class,avg(age) from student where id <=4 group by class having class='TO'; #聚合分组筛选
    select class,avg(age) as aa from student where id <=4 group by class ; # 别名
    select * from student where age >(select avg(age) from student); #select子查询
    select * from student join detail; #join 联合查询
    select * from student join detail on student.id =detail.id; #条件联合查询
    select * from student left join detail on student.id =detail.id;#左外连接,以左表为准,右表没有的填空
    select * from student right join detail on student.id =detail.id; #右表连接,以右表为准,左表没有的填空

    select执行顺序:首先执行where-->聚合函数,别名函数-->having筛选

    alter table student rename to stud; #修改表名
    alter table stud change id student_id int; #修改字段名
    alter table stud modify student_id tinyint; #修改字段类型
    alter table stud add phone int; #添加字段
    alter table stud drop student_id tinyint; #删除字段
    alter table student modify age char(20); #修改字段类型

    作业1:
    create table student (id int(5) auto_increment not null primary key,name varchar(32),age int(3),sex varchar(8),class varchar(8)); #有条件创建表
    insert into student values(1,tony,20,M,sen) #插入
    insert into student values(2,'lily',21,'M','sen');
    insert into student values(3,'bai2',23,'F','MU');
    insert into student values(4,'bai',22,'M','TO');
    select * from student where sex ='M';#条件查询
    delete from student where id=3 #删除id3
    update student set sex='M' where sex='F'; #更新

    作业2:
    select class,count(name) as person from student group by class;
    select class,count(name) as person from student where age >21 group by class;
    select class,count(name) from student where class='sen';
    select class,count(name) from student where class='sen' and age > 20;

    delete * from image; #清空表数据
    drop from image; #删除表数据和表结构
    delete from image_locations where image_id ="a734ac27-12bc-44ec-905e-b5fff79533e9" ; #条件删除

    mysqldump -uroot -pe107ad77a2584db36e2f4468f24eec85 -B --all-databases | gzip > all.sql.gz #备份
    mysqldump -uroot -p -B --all-databases | gzip > all.sql.gz #备份
    mysqldump -u root -p --opt aaa > back_aaa #备份
    mysql -u root -p ccc < back_aaa #恢复

    grant select,insert,update,delete ondd to guyingtao@"%" Identified by "root123"; #新建用户
    grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123"; #新建用户
    ALTER USER 'root'@'%' IDENTIFIED BY 'SHunicom#1033' PASSWORD EXPIRE NEVER;
    alter user root@'%' identified with mysql_native_password by ‘moxi1234@’; #修改mysql 认证

  • 相关阅读:
    html5 sessionStorage util
    配置php redis 扩展
    css颜色字符串转换, 字符串转化为驼峰形式
    根据包名,在指定空间中创建对象
    列表习题
    正则题--什么时候才能到200+
    每日练习0424---函数和列表 元祖 字典的习题 sort和sorted总结
    习题之----列表和字典
    求字母的个数 求单词的个数
    字符串练习题(2)
  • 原文地址:https://www.cnblogs.com/appresearch/p/14071925.html
Copyright © 2020-2023  润新知