mysql 操作指令笔记
设置区分大小写:
打开my.ini,最后加入:
[mysqld]
lower_case_table_names=2 (2表示区分大小写,但仅限于字段,数据库名、表名、存储过程名都是小写的)
查看方法:show variables like '%case%';
记住,mysql的语句不区分大小写,在存储过程中,例如变量名为userName,
select count(*) from table where UserName=userName; =>结果恒等于表的总记录行数,因为不区分大小写,UserName=userName为true
另外,本人在C#中调用存储过程,由于把数据库名写为大写NewsDB,导致无法找到存储过程,但其实把连接字符串改为newsdb就OK了
数据类型:
数字类型:
整型:tinyint smallint mediumint int bigint
浮点型:float double real decimal
字符串类型:
字符串:char varchar
文本: tinytext、text、mediumtext、longtext
二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob
日期和时间: date、time、datetime、timestamp、year
DDL:
创建数据库:create database 数据库名 character [set gbk];
创建数据表:(用户表为例)
create table UserInfo
(
UserID int unsigned not null auto_increment primary key,
UserName varchar(20) not null,
UserPwd varchar(30) not null,
NickName varchar(20) not null default "游客"
); 注:这里的unsigned表示非负数,生成表后,字段类型会变为int(10),与默认int的int(11)不一样,如果是用于主外键,则最好不要加unsigned
创建前先判断是否存在:drop database if exists 数据库名;
使用sql脚本创建:mysql -D 数据库名 -u root -p < 脚本文件名.sql 注:-D 数据库名,如果脚本中有重新创建数据库,则可以不写
创建主外键约束:
为主表添加外键:
语法:alter table 外键表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 主键表名(主键字段名);
关闭约束检查:SET foreign_key_checks = 0;
打开约束检查:SET foreign_key_checks = 1;
修改字段可为空:alter table 表名 modify 字段名 类型 null;
创建存储过程:
use 数据库名;
drop procedure if exists 存储过程名;
delimiter //
create procedure 存储过程名(参数1、参数2......)
begin
过程体
end
//
delimiter ;
创建视图:
use 数据库名;
drop view if exists 视图名;
create view 视图名 as
select ... from ... where ...
DML:
增:insert into 表名 (字段1,字段2...) values (值1,值2...);
删:delete from 表名 where 条件;
改:update 表名 set 字段1=值1,字段2=值2...... where 条件;
DQL:
查看约束关系:SELECT * FROM information_schema.TABLE_CONSTRAINTS;
查看数据库:show databases;
使用数据库:use 数据库名;
查看所有表:show tables;
查看所有字段:show columns from 表名;
查看存储过程:select 'name' from mysql.proc where db='数据库名' and 'type'='PROCEDURE';
未完......待续......
mysql 操作指令笔记的更多相关文章
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- mysql颠覆实战笔记(三)-- 用户登录(二):保存用户操作日志的方法
版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸 ...
- 学习笔记:MySQL操作初步
对数据库的操作:SQL语言 一:SQL:Structured Query Language,结构化查询语言! 二:DDL:Data Definition Language,数据定义语言 三:DML:D ...
- 17.swoole学习笔记--异步mysql操作
<?php //异步mysql操作 $db=new swoole_mysql(); $config=[ 'host'=>'192.168.10.31', 'user'=>'zouke ...
- 基于【 MySql 】二 || mysql详细学习笔记
mysql重点学习笔记 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysql ...
- (2.2)【转】mysql的SQL笔记
一千行 MySQL 详细学习笔记 IT技术思维 4月1日 ↑↑↑点上方蓝字关注并星标⭐「IT技术思维」 一起培养顶尖技术思维 作者:格物 原文链接:https://shockerli.net/post ...
- MySQL:提高笔记-5
MySQL:提高笔记-5 学完基础的语法后,进一步对 MySQL 进行学习,前几篇为: MySQL:提高笔记-1 MySQL:提高笔记-2 MySQL:提高笔记-3 MySQL:提高笔记-4 MySQ ...
- MySQL:提高笔记-4
MySQL:提高笔记-4 学完基础的语法后,进一步对 MySQL 进行学习,前几篇为: MySQL:提高笔记-1 MySQL:提高笔记-2 MySQL:提高笔记-3 MySQL:提高笔记-4,本文 说 ...
- MySQL:提高笔记-2
MySQL:提高笔记-2 学完基础的语法后,进一步对 MySQL 进行学习,第一篇为:MySQL:提高笔记-1,这是第二篇内容 说明:这是根据 bilibili 上 黑马程序员 的课程 mysql入门 ...
随机推荐
- LightOj_1274 Beating the Dataset
题目链接 题意: 给一个文档, 这个文档由yes .no 组成, 共有s个byte, 共有n个yes.no. 假设yes的个数为yes_num, no的个数为no_num. 将这n个数进行排列, 对于 ...
- C++结构简介
结构是一种比数组更灵活的数据格式,因为同一个结构可以储存多种类型的数据,这使得能够将篮球运动员的信息放在一个结构中,从而将数据的表示的合并到一起. 结构也是C++堡垒OOP(类)的基石.结构是用户定义 ...
- JavaScript中url 传递参数(特殊字符)解决方法
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码 十六进制值1. + URL 中+号表示空格 %2B2. 空格 UR ...
- Tomcat架构(二)
5.容器组件 这一小节中我们将讨论请求处理组件:引擎(engine).虚拟主机.上下文(context)组件. 5.1.引擎(engine) 引擎表示可运行的Catalina的servlet引擎实例并 ...
- 如何使用 Java 构建微服务?
[编者按]微服务背后的大理念是将大型.复杂且历时长久的应用在架构上设计为内聚的服务,这些服务能够随着时间的流逝而演化.本文主要介绍了利用 Java 生态系统构建微服务的多种方法,并分析了每种方法的利弊 ...
- Keil 程序调试窗口
上一讲中我们学习了几种常用的程序调试方法,这一讲中将介绍Keil提供各种窗口如输出窗口.观察窗口.存储器窗口.反汇编窗口.串行窗口等的用途,以及这些窗口的使用方法,并通过实例介绍这些窗口在调试中的使用 ...
- 子窗体显示在任务栏,且子窗体中又有弹窗(CreateParams修改三个风格参数)
子窗体显示在任务栏时, procedure Tfrm_SendSmartMsg.CreateParams(var Params: TCreateParams);begin inherited; P ...
- QT 读写二进制 (数值)高位在前
在人们的计数规则中,一般都认为高位在前,即往前的地位大,如123,我们认为是一百二十三, 但在计算机中数值是以二进制存储的,字节是最小的存储单位,如int(32位),占4个字节,每个字节有八位, 24 ...
- Git标签管理
一般我们发布一个新版本到线上服务器时都会在版本库中打一个标签,这时就确定了某个版本将发布到线上.我们可以随时可以查看这个打标签的版本,也就 是说标签其实呢,就是版本库中一个快照.简单说标签就是指向某个 ...
- [cocos2d]关于CCSprite的若干问题与误区
文章 [cocos2d] 利用texture atlases生成动画 中介绍了如何生成动画并绑定在CCSprite实例上. 使用该代码遇到了几个问题,值得mark下 问题1.多实例 问题描述: 新建一 ...