您的位置:新葡亰496net > 网络数据库 > 新葡亰496net:MySQL语句整理,MySql常用指令总结

新葡亰496net:MySQL语句整理,MySql常用指令总结

发布时间:2019-11-30 06:23编辑:网络数据库浏览(156)

    写那篇小说的指标是自家意识了在上生龙活虎篇有关My SQL的小说中存在部分不审慎的代码难点,在这里间再度轻松的下结论一下并加以修改,以代码为主。

    总结:

    sql常用语法总计

    --01 mysql 数据库的操作

    意气风发、对数据库的操作

    # !每行命令必须以分行(;)结尾

    1、数据库操作

    创建库
      create database db_name;

    查询库
      show databases; //呈现全部的数据库
      show create databases db_name; //呈现特定的数据库

    删除库
      drop database db_name;

    修改库
      alter database db_name [modify command];
      alter database db_name character set gbk;


    命令行使用mysql

    进入mysql :

        mysql -uroot -p

    来得全部数据库:

        show databases;

    新建叁个数据库命令:

        create database 数据库名称;

    除去二个数据库命令:

         drop database 数据库名称;

    行使有些数据库命令:

         use 数据库名称;

    查看表命令:

        show tables;

    确立二个新表:

         create table 表名 (字段参数);

    或 

        create table if not exists 表名(字段参数);

    删去二个旧表:

        drop table 表名;

    或 

        drop table if exists 表名;

    退出:

        exit

    查看表的构造:

        describe 表名;

    导入.sql文件命令(举例D:/mysql.sql)

        source d:/mysql.sql;

      或

          /. d:/mysql.sql;


     

    1.创制多个库

    -- create database 库名
    create database person;

    先经过命令行踏向数据库客商端 mysql -h服务端ip地址 -P(大写卡塔尔国服务端使用的端口,平时为3306 -p(小写卡塔尔(英语:State of Qatar) 回车之后输入密码,步入 呈现全数数据库 show databases;

    新葡亰496net:MySQL语句整理,MySql常用指令总结。2、表操作

    创建表
      use db_name;
      create table tbl_name (column_structure) [tbl_option];

    如:
      create table tbl_name(
      variable_name1 varchar(10)
      variable_name2 int
    );

    或:
      create table db_name.tbl_name(
      variable_name1 varchar(10)
      variable_name2 int
      );

    查询表
    查阅有怎么着表
      show tables;
    或show tables like 'pattern_%';
    查看表的创始新闻
      show create table tbl_name;

      show create table tbl_name G
    查看表的构造
      describe tbl_name;

      desc tbl_name;]

    删除表
      drop table [if exists] tbl_name;

    修改表
    修改表名
      单个:rename table old_tbl_name to new_tbl_name;
      多个:rename table old_tbl_name1 to new_tbl_name1, old_tbl_name2 to   new_tbl_name2;
      跨数据库:rename table old_tbl_name to db_name.new_tbl_name;
    修正列定义
    充实新列定义:add
      alter table tbl_name add new_column_name data_type;
    如:
      alter table exam_student add height int;
    改过列的定义(新的特性恐怕数据类型卡塔尔国:modify
      alter table tbl_name modify column_name new_data_type;
    删去多个列:drop
      alter table tbl_name drop column_name;
    重命名贰个列:change
      alter table tbl_name change old_column_name new_column_name new_data_type;
    校订表选项:
      alter table tbl_name new_tbl_option;
      alter table tbl_name character set utf8;

    常用语法

    #安排数据

    insert into 表名('字段1','字段2','字段3','字段4',...) values('值1','值2','值3',...);

    insert into 表名 values('值1','值2','值3',...);

    例子:

        insert into c (id,name,sex,age,sno) values (null,'涛哥','男',68,1);

        insert into student values(null,'aa','男','1988-10-2','......');

    #查询表中的数据

    select * from student;

    select id,name from student;

    #改正某一条数据

    update 表名 set 字段=值 where 条件;

    #剔除数据

    delete from 表名 where条件;

    # and 且

    select * from student where date>'1988-1-2' and date<'1988-12-1';

    # or 或

    select * from student where date<'1988-11-2' or date>'1988-12-1';

    #between

    select * from student where date between '1988-1-2' and '1988-12-1';

    #in 查询制订集结内的多寡

    select * from student where id in (1,3,5);

    #排序order by , asc 升序  desc 降序 

    select * from student order by id asc;

    #分组查询group by   #聚合函数

    select max(id),name,sex from student group by sex;

    select min(date) from student;

    select avg(id) as '求平均' from student;

    select count(*) from student;  #总括表香港中华总商会数

    select count(sex) from student;  #总括表中性别总的数量  若有一条数据中sex为空的话,就不赋予计算~

    select sum(id) from student;

    #查询第i条今后到第j条的数额(不包含第i条卡塔尔(قطر‎

    select * from student limit 2,5;  #显示3-5条数据

    #建表

    create table c(

        id int primary key auto_increment,  #主键

        name varchar(10) not null,  #非空

        sex varchar(50) , 

        age int unsigned, #不可能为负值(如为负值 则默感觉0卡塔尔(英语:State of Qatar)

        sno int unique    #不可重复

    );

    #删除表

    drop table c;

    #改善数据

    update 表名 set 字段名=值 where 条件;

    例子:

        update c set name='名字',age=21,sex='女' where id=2

    #更正表的名字

    alter table 表名_name rename to 新表名

    #向表中加进贰个字段(列卡塔尔

    alter table 表名 add 字段名 类型;

    例子:

        alter table test add  columnname varchar(20);

        alter table test add(columnname char(10));

    #校订表中有些字段的名字

    alter table 表名 change 字段名 新字段名 类型;  #改进叁个表的字段名

    例子:

        alter table test change name uname varchar(50);

    #表position 修改列test 默认值

    alter table position alter test set default 'system';

    #表position 去掉test 默认值

    alter table position alter test drop default;

    #表position 去掉列test

    alter table position drop column test;

    #表depart_pos 删除主键

    alter table depart_pos drop primary key;

    #表depart_pos 增添主键department_id,position_id

    alter table depart_pos add primary key PK_depart_pos(department_id,position_id);

    #用文件情势将数据装入数据库表中(举个例子D:/mysql.txt)

    load data local infile "D:/mysql.txt" into table MYTABLE;

        -- 链接数据库

    创办带有编码的数据库

    -- create database 库名 character set 编码
    create database userdb character set utf8;

    创办数据库并安装编码   - 数据库成立时可以设置字符集以及排序准绳   - 字符集经常选用utf8的,排序法则平日选用忽视大小写的,其实也算不得得忽略大小写   - 它的准绳是放进数据库的都转变到大写,然后不管客户输入的大写照旧小写都转换来大写再去数据库里查   - 所以看起来就相当于是忽视了大小写   - 要是不设置普通话会乱码 create database 数据库名字 character set utf8; create database 数据库名字 charset=utf8;

    3、数据操作

    创设数量
      insert into tbl_name (fields_list) values (values_list);
    如:
      insert into exam_student (stu_name, stu_no) values ('xiaoming', 'php030_01');
    若插入全部字段值
      insert into exam_student values ('xiaoming', 'php030_01', 98);

    询问数据
    翻看字段新闻
      select * from tbl_name;
    参考具体字段列表音信
      select fields_list from tbl_name where condition;
    如:暗中同意状态下
      select stu_name, stu_no from exam_student;
    或:
      select stu_name, stu_no from exam_student where 1;
    有原则查询
      select * from tbl_name where condition;
    如:
      select * from exam_student where fenshu >= 60;

    删去数据
      delete from tbl_name condition;
    如:
      delete from exam_student where fenshu <= 50;

    修正数据
      update tbl_name set field = new_value where condition;
    如:
      update exam_student set fenshu =100 where fenshu >= 97;

        mysql -uroot -pmysql

    翻开编码

    show create database userdb;

    修改数据库编码 alter database 数据库名字 character set utf8;

    4、主键:primary

    如:法一:
      create table teacher(
      t_id int primary key [auto_increment],
      t_name varchar(5),
      class_name varchar(6),
      t_days tinyint unsigned
      );
    法二:
      create table teacher(
      t_id int,
      t_name varchar(5),
      class_name varchar(6),
      t_day tinyint unsigned,
      primary key (t_id)
      );
      
      insert into teacher values (1, '王老师', '0225', 23);
    在已创制表中增添主键操作:
      alter table tbl_name add primary key (field) ;
      alter table tbl_name modify colunm_name data_type not null primary key auto_increment;
    机关拉长:auto_increment
      alter table tbl_name auto_increment initial_value;
    在已开立表中的主键id上增多auto_increment
      alter table tbl_name id_name id_name int auto_increment;

        

    2.去除四个库

    -- drop database 库名
    drop database person;

    显示创立数据库的经过 show create database 数据库名字;

    5、外键:foreign key

    如:
    主表:
      create table itcast_class(
      class_id int primary key auto_increment,
      class_name varchar(10) not null default 'itcast_php' comment '班级名称'
      ) character set utf8;
    从表:
      create table itcast_student(
      stu_id int primary key auto_increment,
      stu_name varchar(10) not null default '',
      class_id int,
      foreign key
      (class_id) references
       itcast_class (class_id)
      ) character set utf8;
    插入数据的逐后生可畏:先主表,后从表
      insert into itcast_class values (null, 'php0331');
      insert into itcast_student values (null, '张三', 1);
    除去操作:
      alter table itcast_student drop foreign key itcast_student_ibfk_1;
      alter table itcast_student add foreign key (class_id) references itcast_class (class_id)
      on delete set null;/主表里删除某些字段,从表若对应外键则形成null/
    或者: 
      on delete cascade;/主表删除一个字段,从表对应的外键则会删除相应的值/
    又或者:
      on update restrict;/不容许主表进行翻新操作/
      delete from itcast_class where class_id = 1;

        -- 不彰显密码  *****

    3.使用库

    -- use 库名
    use userdb;

    采取某些数据库 use 数据库名字;

    6、最大值

    select max(field) from tbl_name;

        mysql -uroot -p

    4.查看当前正在操作的库

    select database();

    判别当前在哪些数据Curry select database(卡塔尔;

    7、连接

    内连接
      select tbl1_name.field, tbl2_name.field1, tbl2_name.field2... from tbl1_name inner join tbl2_name on tbl1_name.id = tbl2_name.id where condition;
    外连接
      select tbl1_name.fields, tbl2_name.fields from tbl1_name left outer join tbl2_name on tbl1_name.id = tbl2_name.id;

        

    二、对数码库表的操作

    翻开该数据库有啥表 show tables;

    8、改进数据库密码方法:

    步向mysql中后,在指令行中mysql>
    输入:set password for root@localhost = password('123456');

        -- 退出数据库

    1.创立一张表

    -- create table 表名(
    -- 字段名 类型(长度) [约束],
    -- 字段名 类型(长度) [约束],
    -- 字段名 类型(长度) [约束]
    -- );
    create table uPerson(
    uid int(32) primary key auto_increment,
    uname varchar(32),
    upassword varchar(32),
    uscore varchar(32)
    );

    创建数据库中的表 create table 表的名字( 字段名字 类型(范围卡塔尔(قطر‎ [约束], 字段名字 类型(范围卡塔尔(قطر‎ [约束], 字段名字 类型(范围卡塔尔 [约束]);

        quit/exit ctrl d

    2.翻看数据库表

    查阅某表的字段(属性) desc 表的名字; show create table 表的名字; 往表中增添字段 alter table 表的名字 add 字段名字 类型(范围卡塔尔 [约束];

     

    开创完结后,大家得以查阅数据库表

    show tables;

    改进表字段类型 alter table 表名字 modify 字段名字 新类型(范围卡塔尔(قطر‎ [约束]; 改正表字段的名字和类型 alter table 表名字 change 旧的字段名字 新的字段名字 新品类(范围卡塔尔(قطر‎ [约束]; 给表中的字段增添节制 主键,外键,检查,唯风流倜傥多少个约束要用add constraint,别的的封锁能够用modify alter table 表的名字 add constraint 起个名字(随便卡塔尔 约束(字段名字卡塔尔国; 往表中添扩张少 insert into 表的名字(字段名字卡塔尔 values(要加上的多寡卡塔尔(英语:State of Qatar);

        -- sql语句最后索要有分集团;结尾

    查看表的组织

    -- desc 表名
    desc userdb;

    查询表中的数据 select * from 表的名字; 依照范围查询表里的数码 select * from table limit m,n; - 呈现范围是:[m 1行,m n行],饱含m 1和m n行 依照字段查询表里的多少 select 字段名字1,字段名字2 from 表的名字; 给从表里查询出来的多寡的字段取别名 select 字段名字1 as 要取的小名,字段名字2 as 要取的别名 from 表的名字; 根据字段查询表里的数目(去重卡塔尔(英语:State of Qatar) select distinct 字段名字 from 表的名字; 依照条件查询表里的数额(条件可接收not,!=,or,in(值1,值2...),and,between..and..) select * from 表的名字 where 条件; 模糊查询表里的数据 在依据标准查询的准绳中选择like和通配符%(任性字符卡塔尔,_(多少个字符卡塔尔(قطر‎ 查询表里的某字段为NULL的值条件必须用is null,不能够用= null 对表里的数目排序(先按字段1排,有相仿的则再按字段2排卡塔尔(قطر‎ select * from 表的名字 order by 字段名字1 asc(暗中认可升序卡塔尔(قطر‎/desc(降序卡塔尔国,字段名字2 asc(暗中认可升序卡塔尔/desc(降序卡塔尔; 改善表中某字段的保有数据 update 要改进的表的名字 set 要改革的字段 = 校正后的内容; 校正表中某字段的钦赐数量(where 前边是找寻条件卡塔尔 update 要修改的表的名字 set 要改良的字段 = 改正后的内容 where 字段 = 内容; 删除表中的八个字段(这里要留神不能够全删光卡塔尔(قطر‎ alter table 表的名字 drop column 字段名字; 删除表中的多少 truncate 表的名字; (后边无法跟where卡塔尔 delete from 表的名字; delete from 表的名字 where 字段名字 = 内容; 删除数据库/表 drop database/table 存在的数据库名字/表的名字; 清屏 system clear 导入导出数据库 导出(终端中卡塔尔: mysqldump -uroot -p 存在的要导出的数据库的名字 > 要导出地点的相对路线/新名字.sql 导入(终端中卡塔尔(英语:State of Qatar): mysql -uroot -p 新数据库的名字 < 路线/要导入的数据库名字.sql 导入(顾客端中卡塔尔: 1. 先建二个新的数据库,名字随便         2. use 那些空的数据库         3. source 写要导入的.sql文件的相对路径

     

        -- 展现数据库版本 version

    3.去除一张表

    -- drop table 表名
    drop table userdb;

    封锁 两种充分的机遇:1. 建表的时候 2. alter 增添束缚

        select version();

    翻看数据库表

    show tables;

    演示代码(不想打大巴能够平昔复制,小编写全了,但是代码里也会有会报错之处,认真看错误的原故才具领略的更加深卡塔尔国:

     

    4.修改表

    主键限制(自带唯后生可畏约束卡塔尔(قطر‎: create database yueshu character set utf8; use yueshu; show tables; create table tbl_PK( id int unsigned(无符号) primary key auto_increment(自动增进卡塔尔,(顺序不能错卡塔尔 name varchar(30卡塔尔(قطر‎卡塔尔; insert tbl_PK values(1,'张三'),(2,'李四'),(3,'王五'); select * from tbl_PK; insert tbl_PK values(0,'张三'卡塔尔(英语:State of Qatar),(0,'李四'卡塔尔,(0,'王五'卡塔尔国; 唯风度翩翩约束: create table tbl_UQ( id int unsigned primary key auto_increment, card_id varchar(18) unique); insert into tbl_UQ values(0,'123123'); select * from tbl_UQ; insert into tbl_UQ values(0,'123123'); insert into tbl_UQ values(0,'123123321'); select * from tbl_UQ; 非空限制: create table tbl_NN( id int unsigned primary key auto_increment, name varchar(10) not null); alter table tbl_NN add age int unsigned; desc tbl_NN; insert into tbl_NN values(0, '张三'); insert into tbl_NN(id,name) values(0, '张三'); select * from tbl_NN; insert into tbl_NN(id,age卡塔尔 values(0, 18卡塔尔(قطر‎; 暗许节制: create table tbl_Default( id int unsigned primary key auto_increment, gender char(2) not null default '男'); alter table tbl_Default add name varchar(30); insert into tbl_Default(id, name) values(0,'张三'); select * from tbl_Default; 检查节制:(MySQL中不起功效卡塔尔(英语:State of Qatar) create table tbl_Check( id int, age int check ( age > 0 and age < 120), gender char(2) check ('男' or '女')); insert into tbl_Check values(0, 180, '中性'); select * from tbl_Check; 外键节制: create table Employees( EmpId int unsigned primary key auto_increment, EmpName varchar(50), EmpGender char(2), EmpAge int, EmpEmail varchar(100), EmpAddress varchar(500) DeptId int); create table Department( DepId int unsigned primary key auto_increment, DepName varchar(50)); alter table Employees add constraint FK_DeptId_DepId foreign key(DeptId卡塔尔国 references Department(DepId卡塔尔(قطر‎; 外键必得和主键关联 insert into Department values(0,'风度翩翩部门'卡塔尔国,(0,'二部门'卡塔尔国; select * from Department; insert into Employees(EmpId,DeptId) values(0,1); select * from Employees; insert into Employees(EmpId,DeptId) values(0,3); drop table Department; drop table Employees; drop table Department;

        -- 呈现时间 now

    改良表名

    rename table userdb to user_db;

    聚合函数(聚合函数不合算null值卡塔尔(英语:State of Qatar) - 对多条数据开展总括 把某字段中的数据分组 select 字段名字1 from 表的名字 group by 字段名字1; 依据某字段(字段名字1卡塔尔分组,呈现别的字段(字段名字2卡塔尔国成分 select 字段名字1,group_concat(字段名字2卡塔尔国 from 表的名字 group by 字段名字1;

        select now();

    4.1增添一列

    -- alter table 表名 add 字段名 类型(长度) [约束]
    alter table user_db add uinfo varchar(32)

    求和 select sum(字段名字卡塔尔国 as '外号' from 表的名字; 求最大 select max(字段名字卡塔尔(قطر‎ as '外号' from 表的名字; 求最小 select min(字段名字卡塔尔(英语:State of Qatar) as '别名' from 表的名字; 求平均 select avg(字段名字卡塔尔(英语:State of Qatar) as '小名' from 表的名字; 求某字段所含数据的总个数(不算null那风流罗曼蒂克行卡塔尔(英语:State of Qatar) select count(字段名字卡塔尔国 as '小名' from 表的名字; 分组之后显得每组的数码个数 select 字段名字1,count(*卡塔尔国 from 表的名字 group by 字段名字1; 保留小数钦点位数 select round(那贰个小数,保留的位数卡塔尔(英语:State of Qatar) from 表的名字; having 对分组之后的多寡实行越来越筛选 相仿于 select 和 where 之间的关联 select 字段名字1 from 表的名字 group by 字段名字1 having 条件;

        

    4.2改过列的档案的次序(长度、节制)

    -- alter table 表名 add 字段名 类型(长度) [约束]
    alter table user_db modify uinfo varchar(100) null;

    多表查询 - 尽量制止多表查询 - 多表查询会冒出笛Carl积 内连接,满意条件显示(仍然会发出笛Carl积,只是用on实行了标准筛选卡塔尔(قطر‎ select * from 表1的名字 inner join 表2的名字 on 表1的名字.字段的名字 = 表2的名字.字段的名字; 左连接,以表1为底子,表1全展现,表2相当不足的用null补全 select * from 表1的名字 left join 表2的名字 on 表1的名字.字段的名字 = 表2的名字.字段的名字; 右连接,以表2为根底,表2全呈现,表1远远不足的用null补全 select * from 表1的名字 right join 表2的名字 on 表1的名字.字段的名字 = 表2的名字.字段的名字; 自关系 - 让表本身和和煦进行连接 - 表中的某一列关联了表中的其余一列,可是她们的政工含义是不相符的 select * from 表的名字 inner join 表的名字 on 表的名字.字段的名字 = 表的名字.字段的名字; 代码示例: Create table areas ( id int, atitle varchar(100卡塔尔(英语:State of Qatar), pid int 卡塔尔(英语:State of Qatar) 如: id 编号 pid 上级编号 id  atitle     pid 1   甘肃省   null 2   衡阳    1 3   长安区    2 子查询 select * from 表1的名字 where 字段1的名字=(select 字段2的名字 from 表2的名字 where 条件)

        -- 查看当前使用的数据库

    4.3改造列的列名

    -- alter table 表名 change 旧列名 新列名 类型(长度) [约束]
    alter table user_db change uinfo info varchar(32) null;
    alter table user_db change upassword upwd varchar(32) null;

    推行各种: 1—from 表名 2—where 3—group by 4—select distinct * 5—having 6—order by 7—limit

        select database();

    4.4删除表的列

    -- alter table 表名 drop 列名
    alter table user_db drop info;

    注意事项: enum ,加多数据的时候是从1初阶的不是从0开首的 ,比方enum('男','女'卡塔尔(英语:State of Qatar)-----1是男,2是女,由此及彼

     

    4.5改造表名

    -- rename table 表名 to 表名
    rename table user_db to tbl_user;

    沾满篇小说链接:

        -- 查看全数数据库

    4.6修正表的字符集

    alter table 表名 character set utf8;

        show databases;

    翻看当前表的编码

    show create table tbl_user;

     

    三、对数据库表记录实行操作(校勘卡塔尔

        -- 创制数据库

    1.插入记录

    -- insert into 表名(列名1,列名2,列名3……) values(值1,值2,值3……)
    insert into tbl_user(uid,uname,upwd,uscore) values(1,'张王三','12233','65');
    insert into tbl_user(uid,uname,upwd,uscore) values(2,'李四','12234','76');
    insert into tbl_user(uid,uname,upwd,uscore) values(3,'王五','12235','86');
    insert into tbl_user(uid,uname,upwd,uscore) values(4,'赵六','12236','62');
    -- insert into 表名 values(值1,值2,值3……)
    insert into tbl_user values(5,'王一','1111','91');

        create database 数据库名 charset = utf8;

    1.1 插入数据中文乱码难题消除办法

    主意风度翩翩:创设表的时候一直设置好编码为utf8
    方式二:【不建议!】
    直白改变数据库安装目录里面包车型大巴my.ini文件的第57行
    方式三:set names gbk;

     

    2.改进表记录

    2.1不带条件的-校勘表中保有的笔录
    update 表名 set 字段名=值 ,字段名=值.....
    update tbl_user set upwd=123456;
    2.2带条件的
    update 表名 set 字段名=值,字段名=值..... where 条件
    update tbl_user set upwd=1122334 where uid = 2;

        -- 查看创制数据库的语句

    3.删除表记录

    3.1 带条件的
    delete from 表名 where 条件
    delete from tbl_user where uid=1
    在乎,删除后,uid不会重新设置!
    3.2不带条件的
    先筹算点多少
    insert into uperson values (1,'来来来','szs','12');
    insert into uperson values (2,'来来来','sys','48');
    insert into uperson values (3,'ww1','szt','28');
    insert into uperson values (4,'szss','srs','53');
    insert into uperson values (5,'来qqq','uos','56');

        show create database 数据库名

    剔除操作

    delete from 表名;
    delete from uperson;

    3.3面试题
    说说delete与truncate的区别?
    delete删除的时候是一条一条的去除记录,它非常职业,可以将去除的数目找回。
    truncate删除,它是将总体表摧毁,然后再次创下造一张一模二样的表。它删除的数量不能找回。
    Delete操作演示:
    start transaction ;
    delete from uperson;
    rollback;
    Truncate操作演示
    start transaction;
    truncate table uperson;
    rollback;
    show tables;
    在乎:delete删除,uid不会重新设置!而选用truncate操作,uid会重新苏醒设置

         

    4.询问操作

    语法
    select [distinct]*|列名,列名 from 表名 [where 条件]

        -- 使用数据库

    4.1轻便易行询问

       use 数据库的名字

    1.询问全部顾客

    select *from tbl_user;

     

    2.询问名字分数

    select uname,uscore from tbl_user;

        -- 删除数据库

    3.查询名字使用表别称

    -- select * from tbl_user as(as可省略) u;
    select * from tbl_user as u;

        drop database 数据库名;

    4.询问姓名,使用外号 as可回顾

    select uname as u from tbl_user;

     

    5.去掉重复值(依据密码)

    select distinct(upwd) from tbl_user;

    --02 数据表的操作

    6.将全部人的分数 10 展现

    select uid ,uname,uscore 10 from tbl_user;

     

    4.2标准化查询

        -- 查看当前数据库中全部表

    1.查询名叫"王五"的音讯

    select * from tbl_user where uname='王五';

        show tables;

    2.询问分数大于80的音讯

    select * from tbl_user where uscore>80;

       

    3.询问含有“王” 字的音信

    select * from tbl_user where uname like '%王%';

        

    4.查询id在(3,5)范围的新闻

    select * from tbl_user where uid in(3,5);

        -- 创建表

    5.询问含有“王” 并且id为5 的音信

    select * from tbl_user where uname like '%王%' and uid=5;

        -- int unsigned 无符号整形

    6.查询uid 为2或者5的信息

    select * from tbl_user where uid =2 or uid =5;

        -- auto_increment 代表自动增进

    4.3排序

        -- not null 表示不可能为空

    1.查询所用顾客 遵照分数(升序降序)

    -- 升序 select * from 表名 order by 要升序的列名 asc;
    select * from tbl_user order by uscore asc;
    -- 降序 select * from 表名 order by 要降序的列名 desc;
    select * from tbl_user order by uscore desc;

        -- primary key 表示主键

    2.查询带“王”字的客户 并根据分数降序排序

    select * from tbl_user where uname like '%王%' order by uscore desc;

        -- default 默认值

    4.4聚合函数

        -- create table 数据表名字 (字段 类型 节制[, 字段 类型 约束]);

    1.获得全数学子疏数的总额

    select sum(uscore) from tbl_user;

        create table 表名(id int unsigned auto_increment primary key,name varchar(30) not null,age int unsigned);

    2.赢得全部学员分数的平平均数量

    select avg(uscore) from tbl_user;

     

    3.收获全部学员的个数

    select count(*) from tbl_user;

        -- 修改表名

    4.5分组操作

        alter table 旧表名 rename 新表名;

    1. 更具uid 分组

    select uid ,count(*) from tbl_user group by uid;

        rename table 旧表名 to 新表名;

    2.更具cid分组,总括每组的分数值

    select cid,avg(uscore) from tbl_user group by uscore having avg(uscore)>>70;

     

    4.6 查询计算

    select 经常在的末端的剧情都以要询问的字段
    from 要查询到表
    where
    group by
    having 分组后含有条件只好动用having
    order by 它必需置于最终边

    select * from tbl_user;

    select * from uperson;

        -- 查看表构造

        desc 数据表的名字;

     

        -- 创建 students 表(id、name、age、high (decimal)、gender (enum)、cls_id)

        create table students (id int unsigned auto_increment primary key,name varchar(30) not null ,age int unsigned,high decimal(5,2),gender enum("男","女","保密","妖") default "保密",cls_id int unsigned);

       

        -- 查看表的创造语句

        show create table 表名字;

        

        -- 改进表-加多字段 mascot (吉祥物卡塔尔(英语:State of Qatar) **

        -- alter table 表名 add 列名 类型;

       

        -- 改正表-修改字段:不重命名版

        -- alter table 表名 modify 列名 类型及约束;

        alter table classes modify mascot varchar(100);

     

        -- 改善表-修正字段:重命名版  ***

        -- alter table 表名 change 原名 新名 类型及约束;

        alter table classes change mascot jxw varchar(30);

     

        -- 改过表-删除字段  *

        -- alter table 表名 drop 列名;

        alter table classes drop jxw;

     

        -- 删除表

        -- drop table 表名;

        -- drop database 数据库;

        drop table classes; *

        drop database python10; 半*

           

    --03 增加和删除改查(curd卡塔尔

     

        -- 增加

            -- 全列插入

            -- insert [into] 表名(字段名) values(值)

            -- 主键字段 能够用 0  null   default 来占位

            -- 向classes表中插入 四个班级

            insert into classes(name) values("python10");

            insert into classes(name) values('python11'),('python12');

    新葡亰496net, 

            -- 全体布置

            insert into students(id,name,age,high,gender,cls_id) values(2,'yangyang',18,1.80890,'保密',001);

            -- 部分插入

            -- insert into 表名(列1,...) values(值1,...)

            insert into students(name) values("yang3");

     

            -- 多行插入

            insert into students(name) values("张三"),("李四");

            insert into 表名(字段) values(值) #逐生龙活虎对应

     

        -- 修改

        -- update 表名 set 列1=值1,列2=值2... where 条件;

            -- 全体制改进善

            update students set name = "王五"

            -- 按标准匡正

            update students set name ='李四' where id = 4;

            -- 按标准修正八个值

            -- update students set gender ="",name = "xxx" where ;

            update students set name='张三',age = 20 where id = 5;

            

        -- 查询主旨使用

            -- 查询全数列

            -- select * from 表名;

            ---定条件查询    

            select * from 表名 where id = 2;

            -- 查询钦点列

            -- select 列1,列2,... from 表名;        

            -- 能够动用as为列或表内定小名

            -- select 字段[as 别名] , 字段[as 别名] from 数据表;

            -- 字段的次第

            select age,name from students;

     

        -- 删除

            -- 物理删除

            -- delete from 表名 where 条件;

            -- 逻辑删除

            -- 用三个字段来表示 那条音讯是还是不是已经不可能再接收了

            -- 给students表增添一个 is_delete 字段 bit 类型

            --alter table 表名 add 字段 类型 default 默认值;

     

        -- 数据库备份与还原(领悟卡塔尔

            -- mysqldump –uroot –p 数据库名 > python.sql;

            -- mysql -uroot –p 新数据库名 < python.sql; # 注意导入的时候需求先要创制数据库

    本文由新葡亰496net发布于网络数据库,转载请注明出处:新葡亰496net:MySQL语句整理,MySql常用指令总结

    关键词: