2019独角兽企业重金招聘Python工程师标准>>>

MySQL数据库操作基础

  • 显示数据库
    show databases;

  • 判断是否存在数据库database_name,有的话先删除
    drop database if exists database_name;

  • 创建数据库
    create database database_name;

  • 删除数据库
    drop database database_name;

  • 使用该数据库
    use database_name;

  • 显示数据库中的表
    show tables;

  • 先判断表是否存在,存在先删除
    drop table if exists student;

  • 创建表
    create table student(
    id int auto_increment primary key,
    name varchar(50),
    sex varchar(20),
    date varchar(50),
    content varchar(100),
    foreign key(id) references classes(id)
    )default charset=utf8;

  • 外键alter table student add foreign key(id) references classes(id)

  • 外键约束SET FOREIGN_KEY_CHECKS=1

  • 主键 Alter table tabname add/drop primary key(col)

  • 根据已有的表创建新表:
    A:create table tab_new like tab_old (使用旧表创建新表)
    B:create table tab_new as select col1,col2… from tab_old definition only

  • 删除表
    drop table student;

  • 查看表的结构
    describe student; #可以简写为desc student;

  • 查看列:desc 表名;

  • 修改表名:alter table t_book rename to bbb;

  • 添加列:alter table 表名 add column 列名 varchar(30);

  • 删除列:alter table 表名 drop column 列名;

  • 修改列名MySQL: alter table bbb change nnnnn hh int;

  • 修改列名SQLServer:exec sp_rename't_student.name','nn','column';

  • 修改列名Oracle:lter table bbb rename column nnnnn to hh int;

  • 修改列属性:alter table t_book modify name varchar(22);

  • 插入数据
    insert into student values(null,'aa','男','1988-10-2','......');

  • 查询表中的数据
    select * from student; select id,name from student;

  • 修改某一条数据
    update student set sex='男' where id=4;

  • 删除数据
    delete from student where id=5;

  • 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);

  • 排序 asc 升序 desc 降序
    select * from student order by id asc;

算术运算符

  • +(加)、 -(减)、 *(乘)、 /(求商)、 %(求余或者模)

比较运算符

  • 字母进行ASCII值比较,字母和数字比较的时候会自动把字母转换成0,字母数字组合的字符串会把开头的数字转换成相应的值,后面的字母丢掉,而开头是字母则为0
  • ’<=>’ 相等返回1,__可以__用来对NULL进行判断
  • ‘ = ’ 相等返回1,__不能__对NULL进行判断
  • ‘<>’或者 ’!= ’如果不相等,返回值为1;否则返回值为0。这两个运算符不能用于判断空值NULL
  • ’<= ’,’<’,’>=’,’>’两个操作数进行比较,符合关系时返回值为1 ,同样比较NULL值时返回NULL,
  • 使用BETWEEN AND 进行值区间判断(数字区间,字母表区间)
  • 使用IS NULL、ISNULL和IS NOT NULL判断NULL值和非NULL值
  • 使用LEAST运算符进行最小选择
  • 使用GREATEST运算符进行最大判断
  • 使用IN、NOT IN运算符进行集合包含判断 (不能匹配null值)
  • 使用运算符LIKE进行字符串相似度匹配运算 (按位比较,'_'代表其他字符)
  • 使用运算符REGEXP进行字符串正则匹配运算

逻辑运算符

  • 逻辑运算符的求值所得结果均为TRUE、FALSE或NULL。非零为真,遇NULL则NULL
  • NOT 或者 !
  • AND 或者 &&
  • OR 或者 ||
  • XOR(异或)

位操作运算符

  • 数字一律进行二进制运算
  • 位或(|)
  • 位与(&)
  • 位异或(^ )
  • 位左移(<<)
  • 位右移(<<)
  • 位取反(~)

分组查询

  • 聚合函数
    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;

  • UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。

  • EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。

  • INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。

  • 查询第i条以后到第j条的数据(不包括第i条)
    select * from student limit 2,5; #显示3-5条数据

  • 修改表的名字 格式:alter table tbl_name rename to new_name
    alter table c rename to a;

  • 表结构修改
    create table test
    (
    id int not null auto_increment primary key, #设定主键
    name varchar(20) not null default 'NoName', #设定默认值
    department_id int not null,
    position_id int not null,
    unique (department_id,position_id) #设定唯一值
    );

  • 向表中增加一个字段(列) 格式:alter table tablename add columnname type;/alter table tablename add(columnname type);
    alter table test add columnname varchar(20);

  • 修改表中某个字段的名字
    alter table tablename change columnname newcolumnname type; #修改一个表的字段名
    alter table test change name uname varchar(50);
    select * from test;

  • 表position 增加列test
    alter table position add(test char(10));

  • 表position 修改列test
    alter table position modify test char(20) not null;

  • 表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 增加主键
    alter table depart_pos add primary key PK_depart_pos (department_id,position_id);

  • 修改数据 update c set age=66 where id=2;
    update c set name='花花',age=21,sex='女' where id=2
    delete from c where age=21;

  • 常用查询语句 select name,age ,id from c
    select * from c where age>40 and age<60; #and
    select * from c where age<40 or age<60; #or
    select * from c where age between 40 and 60 #between
    select * from c where age in (30,48,68,99); #in 查询指定集合内的数据
    select * from c order by age desc; #order by (asc升序 des降序)

  • 分组查询 SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP; SUM()会求出总数,设为null,而coalesce会把不在name中的设为总数,也就是把null设为总数。 from :指定查询的表
    where :查询数据的过滤条件
    group by : 对where子句的查询结果进行分组
    having : 对分组的结果进行 条件限制
    order by :对查询结果进行排序,desc降序/asc 升序 limit :对查询的结果进行限制
    procedure : 查询存储过程返回的结果集数据

  • 聚合函数
    select min(age) from c;
    select avg(age) as '平均年龄 ' from c;
    select count(*) from c; #统计表中数据总数
    select sum(age) from c; sge要求是数值型 select min/max(age) from c; 求age的最小/大值 SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM SUM()会求出结果项为null的设为总数

  • where 子句和匹配用语
    BETWEEN AND :在两数之间
    NOT BETWEEN AND :不在两数之间
    IN <值表> :是否在特定的集合里(枚举)
    NOT IN <值表> :与上面相反
    LIKE :是否匹配于一个模式
    IS NULL(为空的)或 IS NOT NULL(不为空的)
    REGEXP 匹配一个正则表达式

  • 联合查询
    INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
    LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录(NULL)。
    RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录(NULL) FULL/CROSS JOIN: 全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录

  • 用文本方式将数据装入数据库表中(例如D:/mysql.txt)
    load data local infile "D:/mysql.txt" into table MYTABLE;

  • 导入.sql文件命令(例如D:/mysql.sql)
    source d:/mysql.sql; #或者 /. d:/mysql.sql;

  • 备份 USE master
    EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
    --- 开始 备份
    BACKUP DATABASE pubs TO testBack

转载于:https://my.oschina.net/Hgladiator/blog/869199

MySQL数据库操作全集相关推荐

  1. mysql 命令行访问_Mysql 命令行模式访问操作mysql数据库操作

    使用环境 在cmd模式下输入 mysql --version (查看mysql安装的版本). 完整的命令可以通过mysql --help来获取. 本测试使用的Mysql版本是mysql5, 本测试使用 ...

  2. Python - MySQL数据库操作

    Python2 中使用模块 MySQLdb 模块处理数据库的操作,在Python3中使用 PyMySQL Python2 - 数据库的操作 1. MySQLdb 安装 yum -y install M ...

  3. DSP学习 -- C语言实现MySQL数据库操作

    如需转载请注明出处 https://juyou.blog.csdn.net/article/details/109259673 要实现在VS上使用C语言操作MySQL数据库.接下来看一下该怎么操作. ...

  4. php mysql 数据库操作类_php mysql数据库操作类

    分享一个本人一直在使用的一个mysql数据库操作类,比较初级,自己给别人做web网站的时候一直用的这个类,这个也是之前刚开始学习php的时候在网上找到的一个mysql数据库操作类,后来自己改了一些,比 ...

  5. c mysql数据库_C实现MySQL数据库操作

    C实现MySQL数据库操作 两个月前,也就是9月份,心血来潮在windows下实现了用C连接数据库,当时很是有把linux下一并给实现了.但是没有想得那么简单.这个任务一直推迟到了现在才完成,究其原因 ...

  6. python爬虫开发数据库设计入门经典_Python3实现的爬虫爬取数据并存入mysql数据库操作示例...

    本文实例讲述了Python3实现的爬虫爬取数据并存入mysql数据库操作.分享给大家供大家参考,具体如下: 爬一个电脑客户端的订单.罗总推荐,抓包工具用的是HttpAnalyzerStdV7,与chr ...

  7. freecplus框架-MySQL数据库操作

    文章目录 一.源代码说明 二.概述 三.connection类 四.sqlstatement类 五.程序流程 1.无结果集SQL的程序的流程 2.有结果集SQL的程序的流程 六.示例程序 1.创建超女 ...

  8. mysql 根据子查询的结果查询朱标_Python - MySQL数据库操作

    Python2 中使用模块 MySQLdb 模块处理数据库的操作,在Python3中使用 PyMySQL Python2 - 数据库的操作 1. MySQLdb 安装 yum -y install M ...

  9. mysql数据库操作类

    mysql数据库操作类. 配置文件: <?php $db_config["hostname"] = "localhost"; //服务器地址 $db_co ...

最新文章

  1. 【UVA】11991 Easy Problem from Rujia Liu? (整数v第k次出现在什么位置)
  2. 如何检查JavaScript中的数字是否为NaN?
  3. 高等数学-微分方程知识点
  4. zcmu-1184(矩阵乘法)
  5. Python 之glob模块
  6. hive数据库numeric_hive中常用的函数
  7. 影响程序员生涯的三个错误观念,你千万不要犯
  8. mysql 插入数据后显示乱码
  9. mac下electron始终安装不成功解决办法
  10. Win7系统开机动画设置
  11. 调用百度API,文字转语音
  12. Word使用样式技巧:解决创建目录后出现的打印错误---超链接错误
  13. 财务信息化系统架构设计
  14. Python图形界面编程
  15. 大牛讲解信号与系统以及数字信号处理
  16. k8s学习-持久化存储(Volumes、hostPath、emptyDir、PV、PVC)详解与实战
  17. spring boot 项目启动无法访问,排查
  18. oracle学号查询平均成绩,orcal数据库中查询出平均成绩大于60分的同学的学号和平均成绩...
  19. 51单片机超声波测距带语音播报(源程序+原理图+原理图讲解)
  20. Fel是轻量级的高效的表达式计算引擎学习(一)

热门文章

  1. Android上传头像,图片剪裁,压缩图片
  2. 小程序主题随接口而变
  3. AppleMac重置管理员账户
  4. Java 布尔值(Boolean)
  5. 才一年,H5的发展就成这样了......
  6. 亚马逊五大收款方式对比分析
  7. 常见前端面试题:html语义化
  8. python炫酷可视化_Python 一行代码搞定炫酷可视化,你需要了解一下 Cuffl
  9. C++求解一元一次方程——LeetCode 640
  10. 掌上实验室V8系列教程(五)定时器中断及应用