mysql sql语句大全

1、新建用户:

    >CREATE USER name IDENTIFIED BY 'ssapdrow';

  2、更改密码:

    >SET PASSWORD FOR name=PASSWORD('fdddfd');

  3、权限管理

    >SHOW GRANTS FOR name;    //查看name用户权限

    >GRANT SELECT ON db_name.* TO name;    //给name用户db_name数据库的所有权限

    >REVOKE SELECT ON db_name.* TO name;    //GRANT的反操作,去除权限;

一、数据库操作: 

  1、查看数据库:

    >SHOW DATABASES;

  2、创建数据库:

    >CREATE DATABASE db_name;  //db_name为数据库名

  3、使用数据库:

    >USE db_name;

  4、删除数据库:

    >DROP DATABASE db_name;

二、创建表:

  1、创建表:

    >CREATE TABLE table_name(

    >id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,    //id值,无符号、非空、递增——唯一性,可做主键。

    >name VARCHAR(60) NOT NULL

    >score TINYINT UNSIGNED NOT NULL DEFAULT 0,    //设置默认列值

    >PRIMARY KEY(id)

    >)ENGINE=InnoDB    //设置表的存储引擎,一般常用InnoDB和MyISAM;InnoDB可靠,支持事务;MyISAM高效不支持全文检索

    >DEFAULT charset=utf8;  //设置默认的编码,防止数据库中文乱码

    如果有条件的创建数据表还可以使用   >CREATE TABLE IF NOT EXISTS tb_name(........

  2、复制表:

    >CREATE TABLE tb_name2 SELECT * FROM tb_name;

    或者部分复制:

    >CREATE TABLE tb_name2 SELECT id,name FROM tb_name;

  3、创建临时表:

    >CREATE TEMPORARY TABLE tb_name(这里和创建普通表一样);

  4、查看数据库中可用的表:

    >SHOW TABLES;

  5、查看表的结构:

    >DESCRIBE tb_name;

    也可以使用:

    >SHOW COLUMNS in tb_name;     //from也可以

  6、删除表:

    >DROP [ TEMPORARY ] TABLE [ IF EXISTS ] tb_name[ ,tb_name2.......];

    实例:

    >DROP TABLE IF EXISTS tb_name;

  7、表重命名:

    >RENAME TABLE name_old TO name_new;

    还可以使用:

    >ALTER TABLE name_old RENAME name_new;

三、修改表:

  1、更改表结构:

    >ALTER TABLE tb_name ADD[CHANGE,RENAME,DROP] ...要更改的内容...

    实例:

    >ALTER TABLE tb_name ADD COLUMN address varchar(80) NOT NULL;

    >ALTER TABLE tb_name DROP address;

    >ALTER TABLE tb_name CHANGE score score SMALLINT(4) NOT NULL;

四、插入数据:

  1、插入数据:

    >INSERT INTO tb_name(id,name,score)VALUES(NULL,'张三',140),(NULL,'张四',178),(NULL,'张五',134);

    这里的插入多条数据直接在后边加上逗号,直接写入插入的数据即可;主键id是自增的列,可以不用写。

  2、插入检索出来的数据:

    >INSERT INTO tb_name(name,score) SELECT name,score FROM tb_name2;

五、更新数据:

  1、指定更新数据:

    >UPDATE tb_name SET score=189 WHERE id=2;

    >UPDATE tablename SET columnName=NewValue [ WHERE condition ]

六、删除数据:

  1、删除数据:

    >DELETE FROM tb_name WHERE id=3;

七、条件控制:

  1、WHERE 语句:

    >SELECT * FROM tb_name WHERE id=3;

  2、HAVING 语句:

    >SELECT * FROM tb_name GROUP BY score HAVING count(*)>2

  3、相关条件控制符: 

    =、>、<、<>、IN(1,2,3......)、BETWEEN a AND b、NOT

    AND 、OR

    Linke()用法中      %  为匹配任意、  _  匹配一个字符(可以是汉字)

    IS NULL 空值检测

 八、MySQL的正则表达式:

  1、Mysql支持REGEXP的正则表达式:

    >SELECT * FROM tb_name WHERE name REGEXP '^[A-D]'   //找出以A-D 为开头的name

  2、特殊字符需要转义。

 九、MySQL的一些函数:

  1、字符串链接——CONCAT()

    >SELECT CONCAT(name,'=>',score) FROM tb_name

  2、数学函数:

    AVG、SUM、MAX、MIN、COUNT;

  3、文本处理函数:

    TRIM、LOCATE、UPPER、LOWER、SUBSTRING

  4、运算符:

    +、-、*、\

  5、时间函数:

    DATE()、CURTIME()、DAY()、YEAR()、NOW().....

 十、分组查询:

   1、分组查询可以按照指定的列进行分组:

    >SELECT COUNT(*) FROM tb_name GROUP BY score HAVING COUNT(*)>1;

  2、条件使用Having;

  3、ORDER BY 排序:

    ORDER BY DESC|ASC    =>按数据的降序和升序排列

十一、UNION规则——可以执行两个语句(可以去除重复行)

 十二、全文检索——MATCH和AGAINST

  1、SELECT MATCH(note_text)AGAINST('PICASO') FROM tb_name;

  2、InnoDB引擎不支持全文检索,MyISAM可以;

 十三、视图

  1、创建视图

    >CREATE VIEW name AS SELECT * FROM tb_name WHERE ~~ ORDER BY ~~;

  2、视图的特殊作用:

      a、简化表之间的联结(把联结写在select中);

      b、重新格式化输出检索的数据(TRIM,CONCAT等函数);

      c、过滤不想要的数据(select部分)

      d、使用视图计算字段值,如汇总这样的值。

 十四、使用存储过程:

  个人理解,存储过程就是一个自定义函数,有局部变量参数,可传入参数,可以返回值,不过这语法够呆滞的~~~

  1、创建存储过程:

    >CREATE PROCEDURE pro(

    >IN num INT,OUT total INT)

    >BEGIN

    >SELECT SUM(score) INTO total FROM tb_name WHERE id=num;

    >END;

   ***这里的  IN (传递一个值给存储过程),OUT(从存储过程传出一个值),INOUT(对存储过程传入、传出),INTO(保存变量)

  2、调用存储过程:

    >CALL pro(13,@total)      //这里的存储过程两个变量,一个是IN一个是OUT,这里的OUT也是需要写上的,不写会出错

    >SELECT @total         //这里就可以看到结果了;

  3、存储过程的其他操作:

    >SHOW PROCEDURE STATUS;      //显示当期的存储过程

    >DROP PROCEDURE pro;         //删除指定存储过程

十五、使用游标:

  对这个理解不是很懂,朋友多多指点哦~~~

   1、游标的操作

    >CREATE PROCEDURE pro()

    >BEGIN 

    >DECLARE ordername CURSOR FOR

    >SELECT order_num FROM orders;

    >END;

    

    >OPEN ordername;    //打开游标

 

    >CLOSE ordername;    //关闭游标

十六、触发器:

  触发器是指在进行某项指定操作时,触发触发器内指定的操作;

  1、支持触发器的语句有DELETE、INSERT、UPDATE,其他均不支持

  2、创建触发器:

    >CREATE TRIGGER trig AFTER INSERT ON ORDERS FOR EACH ROW SELECT NEW.orser_name;

    >INSERT语句,触发语句,返回一个值

  3、删除触发器

    >DROP TRIGGER trig;

十七、语法整理:

  1、ALTER TABLE(修改表)

    ALTER TABLE table_name

    (  ADD    column  datatype    [ NULL | NOT NULL ]  [ CONSTRAINTS ]

       CHANGE  column   datatype   COLUMNS  [ NULL | NOT NULL ]   [ CONSTRAINTS ]

       DROP    column,

       。。。。

    )

  2、COMMIT(处理事务)

    >COMMIT;

   3、CREATE INDEX(在一个或多个列上创建索引)

    CREATE INDEX index_name ON tb_name (column [ ASC | DESC ] , .......);

   4、CREATE PROCEDURE (创建存储过程)

    CREATE PROCEDURE pro([ parameters ])

    BEGIN

    ........

    END

   5、CREATE TABLE(创建表)

    CREATE TABLE tb_name(

    column_name  datetype  [ NULL | NOT NULL ]   [ condtraints]   ,

    column_name  datetype  [ NULL | NOT NULL ]   [ condtraints]   ,

    .......

    PRIMARY KEY( column_name )

    )ENGINE=[  InnoDB | MyiSAM ]DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

   6、CREATE USER(创建用户)

    CREATE USER user_name [ @hostname ] [ IDENTIFIED BY [ PASSWORD ] 'pass_word' ];

   7、CREATE VIEW (在一个或多个表上创建视图)

    CREATE [ OR REPLACE ] VIEW view_name AS SELECT。。。。。。

   8、DELETE (从表中删除一行或多行)

    DELETE FROM table_name [WHERE ......]

   9、DROP(永久删除数据库及对象,如视图、索引等)

    DROP DATEBASE | INDEX | PROCEDURE | TABLE | TRIGGER | USER | VIEW  name

   10、INSERT (给表添加行)

    INSERT INTO tb_name [ ( columns,...... ) ]  VALUES(value1,............);

    使用SELECT值插入:

    INSERT INTO tb_name [ ( columns,...... ) ]

    SELECT columns , .......   FROM tb_name [ WHERE ...... ] ;

   11、ROLLBACK(撤销一个事务处理块)

    ROLLBACK [  TO  savapointname  ];

   12、SAVEPOINT(为ROLLBACK设置保留点)

    SAVEPOINT sp1;

   13、SELECT (检索数据,显示信息)

    SELECT column_name,.....FROM tb_name  [ WHERE ]   [ UNION ]    [ RROUP BY ]   [ HAVING ]   [ ORDER BY ]

   14、START TRANSACTION (一个新的事务处理块的开始)

    START TRANSACTION

   15、UPDATE(更新一个表中的一行或多行)

    UPDATE tb_name SET column=value,......[ where ]

 

转载于:https://www.cnblogs.com/jimmy-muyuan/p/5103432.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++总结笔记(十一)—— Lambda表达式的应用

文章目录一、Lambda表达式是什么&#xff1f;二、程序示例1. 在STL中的使用一、Lambda表达式是什么&#xff1f; Lambda表达式时C11引入的语法&#xff0c;本质上是一个匿名函数&#xff0c;用[ ] () {}三个符号组成表达式。 格式为&#xff1a;[capture list] (params list) …

【文件处理】——字典写入json文件或TXT文件,读取文件中的字典TypeError: Object of type ‘ndarray‘ is not JSON serializable错误解决方法

目录 一、将字典写入json文件 二、json文件中读取字典 三、将字典写入TXT文件中 四、从TXT中读取字典 五、解决字典含数组存入json文件失败的方法 1、存入前将数组变成列表 2、扩展类方法 一、将字典写入json文件 import jsontest_dict {version: "1.0",exp…

js一些实用例子

1.获取焦点选中文本内容 $("#id").focus(function(){ this.select(); }); 2.表单提交方式 A.自动提交 setTimeout(function(){表单对象.submit();},2000); B.onclick事件提交(链接提交) <input type"submit" value"提交" οnclick"retur…

360安全卫士加速球误关闭某个应用软件

近期因为工作原因须要使用金山快盘。但因为之前电脑上安装了360安全卫士&#xff0c;在使用加速球功能的时候&#xff0c;会出现&#xff0c;误关闭金山快盘的操作&#xff0c;怎么避免呢&#xff1f; 1、打开360主界面。找到安全防护中心&#xff0c;例如以下图&#xff1a; 2…

C++STL总结笔记(一)—— 容器和容器适配器

文章目录前言一、概念1.1 顺序容器1.2 容器适配器1.3 关联容器二、程序示例1. vector和Set自定义数据类型的访问2.vector容器嵌套3.list容器排序4.pair对组的使用总结前言 STL是C中的基于数据结构和算法的标准模板库&#xff0c;可以大量节约系统开发时间&#xff0c;增加程序…

【图像处理】——比特平面原理和实现方法(全网较全面,含所有比特位图的分层方法)

目录 一、比特平面 1st比特平面:括号里面的为比特值,前面的是原图像中对应要变为0的像素值

20145238-荆玉茗 《信息安全系统设计基础》第7周学习总结

20145238 《信息安全系统设计基础》第7周学习总结 教材学习内容总结 存储器系统 : 存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。 1、RAM随机访问存储器 分类&#xff1a;SRAM&#xff08;静态&#xff09;、DRAM&#xff08;动态&#xff09;特点&…

关于两个jar包中存在包名和类名都完全相同的jar包冲突问题

2019独角兽企业重金招聘Python工程师标准>>> 最近弄webservice&#xff0c;我使用的jdk自带的wsimport工具来生成客户端代码&#xff0c;发现生成的代码具有编译错误&#xff0c;错误描述如下&#xff1a; The method getPort(QName, Class<T>) in the type S…

限制文本框只能输入数字和小数点

<input type"text" class"NumText" placeholder"只能输入数字&#xff08;可含有小数点&#xff09;"/><style> .NumText{width:200px;} .NumText::-webkit-input-placeholder{color:#F1923C;} .NumText:-moz-placeholder{…

C++STL总结笔记(二)——仿函数(函数对象)

文章目录一、概念总结一、概念 仿函数又称函数对象&#xff0c;即重载了函数调用运算符&#xff08;&#xff09;的类的对象。 优势&#xff1a; 1.仿函数对象的内部可以有自己的状态&#xff0c;可以实现一些其他的功能。 2.函数对象可以作为参数进行传递。 当仿函数类内重载…

【图像处理】——灰度变换心得(cv2.normalize规范化值0-255,cv2.convertScaleAbs(new_img)转为8位图)

目录 一、灰度变换函数 对数变换 加码变换 常见雷点 常见灰度变换函数

SQL Server2008 表旋转(pivot)技术

参考资料&#xff1a; http://www.cnblogs.com/xiashengwang/p/3503554.html转载于:https://www.cnblogs.com/lihuali/p/6014776.html

const和define 区别

1&#xff1a; 编译器处理不同 define宏是在预处理阶段展开&#xff0c;const常量是编译运行阶段使用。 2&#xff1a;类型和安全检查不同 const常量有数据类型&#xff0c;而宏常量没有数据类型&#xff0c;仅仅是展开。编译器可以对前者进行类型安全检查&#xff0c;而对后者…

学习笔记(三)

一.调试模式 define(APP_DEBUG, true); 调试模式的优势在于&#xff1a; 开启日志记录&#xff0c;任何错误信息和调试信息都会详细记录&#xff0c;便于调试&#xff1b;  关闭模板缓存&#xff0c;模板修改可以即时生效&#xff1b;  记录SQL日志&#xff0c;方便分析SQL…

【项目实战】——Python打包正装换底色代码为exe文件(可在其他无Python环境下运行)

目录 1.安装pyinstaller 2.生成.exe文件 方法1&#xff1a; 方法2&#xff1a; 方法3&#xff1a; &#xff08;1&#xff09;使用命令行窗口进入项目的根目录 &#xff08;2&#xff09;在改目录下执行pyi-makespec main.py&#xff08;main.py是你的主入口文件&#x…

C++STL总结笔记(三)—— 常见算法

文章目录一、基本概念二、程序示例1.遍历2. 查找3. 排序、拷贝、替换4. numeric相关算法总结一、基本概念 算法是STL中很重要的一部分&#xff0c;其功能包括比较&#xff0c;查找&#xff0c;排序&#xff0c;交换&#xff0c;遍历&#xff0c;复制等等。 最大的算法头文件是…

Java zip解压,并遍历zip中的配置文件 .cfg或.properties

1.解析cfg或properties配置文件 讲配置文件&#xff0c;读取&#xff0c;并封装成为map类型数据 /*** 解析cfg文件** param cfgFile* return*/public static Map<String, Object> readCfg(FileInputStream cfgFile) {Properties prop new Properties();Map<String, O…

db2 常用配置

db2set配置&#xff1a; db2set DB2_ENABLE_LDAPNO db2set DB2_ALTERNATE_GROUP_LOOKUPGETGROUPLIST db2set DB2_RESTORE_GRANT_ADMIN_AUTHORITIESON db2set DB2_SKIPINSERTEDON db2set DB2_LOAD_COPY_NO_OVERRIDENONRECOVERABLE db2set DB2_EVALUNCOMMITTEDON db2set DB2_SKIP…

安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(三)码农网

12. 安装 Apache Tomcat Tomcat 是由 Apache 设计的用来运行 Java HTTP web 服务器的 servlet 容器。按照下面的方法安装 tomcat&#xff0c;但需要指出的是安装 tomcat 之前必须先安装 Java。 # yum install tomcat 安装 Apache Tomcat 安装完 tomcat 之后&#xff0c;启动 to…