mysql 语句 简书_MySQL SQL语句
Mysql数据库:端口号3306,超级用户 root unsigned 正值
修改提示符:--prompt 提示符
常见定义
参数:\D 完整的日期 \d当前数据库 \h服务器名称 \u 当前用户
数据是否可以为空:NULL NOT NULL
编号:与主键组合使用,起始值为1. AUTO_INCREMENT
主键:PRIMARY KEY或者KEY。每张表只存在一个主键;主键自动设置为NOT NULL;主键保证记录唯一性。编号必须和主键配合使用,而主键不一定和编号配合使用。
外键:FOREIGN KEY。保持数据的一致性,完整性;实现一对一或一对多的关系。外键列和参照列必须有相似的数据类型。若是数字,则其长度和有无符号位必须相同,而字符的长度可以不同。数据表的存储引擎只能是InnoDB。
子表:具有外键列,子表所参照的表叫做父表。
唯一约束:UNIQUE KEY。允许为空;每张表可以有多个唯一约束;保证记录唯一性(存储过程中保留空值只能有一个)。
默认值:DEFAULT。当插入字段是,如果没有明确赋值,系统自动赋予默认值。
外键约束的参照操作:
1、CASCADE:在父表中进行删除或更新时,子表对应行也进行改变。
2、SET NULL:必须保证子表列没有设置成NOT NULL情况下,才能随父表进行删除或更新,并设置子表中的外键列为NULL。
3、RESTRICT:拒绝对父表的删除或者更新。
4、NO ACTION:与RESTRICT相同。
数据类型
整型(TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT)
浮点型(FLOAT[(M、D]、DOUBLE[(M、 D)])M数字总位数 D小数点后总位数
日期时间型:YEAR TIME DATE DATATIME TIMESTAMP
常用sql语句
show status like 'uptime'; // 查询数据库开启时间
show status like 'com_insert'; // 查询insert操作次数,可以换成update、select等
show status like 'slow_queries'; // 显示慢查询的次数
CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name; //创建数据库
ALTER {DATABASE|SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name; //修改数据库编码方式
DROP {DATABASE|SCHEMA} [IF EXISTS] db_name; //删除数据库
CREATE USER 'yzw' INDITIFIED BY '123456'; //创建用户
GRAND ALL PRIVILEGES test.sudent TO yzw INDITIFIED BY '123456'; //用户授权,如果授权部分权限时可以将all privileges改为 select,insert,update等
SET PASSWORD FOR 'yzw' = password('123123'); //修改用户密码
REVOKE PRIVILEGE ON test.student FROM 'yzw'; // 删除用户权限,可将privilege改为select,insert,update从而删除部分权限
DROP USER 'yzw'; //删除用户
SHOW GRANDS FOR 'yzw'; //查看用户权限
CREATE TABLE [IF NOT EXISTS] table_name (
id TINYINT NOT NULL,
name VARCHAR(10),
INDEX (id),
PRIMARY KEY (name),
);//创建数据表
SHOW TABLE [FROM db_name] [LIKE 'pattern'|WHERE expr] //查看数据表
SHOW COLUMNS FROM tbl_name //查看数据表结构
INSERT [INTO] tbl_name [(col_name)] VALUES (val,......); //插入记录
FOREIGN KEY (f_name) REFERENCES tbl_name (p_name); //外键约束
SHOW CREATR TABLE tbl_name; //显示表结构
SHOW INDEXES FROM tbl_name (\G按列显示); //显示索引
ALTER TABLE tbl_name ADD 字段名 数据类型 约束条件[FIRST|AFTER col_name]; //添加一列
ALTER TABLE tbl_name ADD[CONSTERAINT(约束)[symbol(约束名字)]] PRIMAEY KEY[index_type](index_col_name(主键),.....); //添加主键约束
ALTER TABLE tbl1 ALTER SET/DROP age DEFAULT'34'; //添加或删除默认约束
ALTER TABLE tbl DROP PRIMARY KEY;(只有一个主键不需要写名字) //删除主键约束
ALTER TABLE tbl DROP {INDEX|KEY} index_name; //删除唯一约束
ALTER TABLE tbl MODIFY[COLUMN] id (要修改成的条件) SMALLINT....[FIRSE|AFTER col_name(某个字段)] //修改列定义
ALTER TABLE tbl RENAME [TO|AS] tbl1; //数据表更名
RENAME tbl TO tbl1 [tb TO tb1,.......]
DELETE FROM tbl WHERE id=1; //删除表中数据
//查找语句
SELECT id AS userid,username AS uname FROM users; //为表中的字段重新定义一个名字
//GROUP BY:分组显示
//HAVING:分组条件
//ORDER BY:对分组进行排列[ACE|DESC]
//LIMIT:限制查询返回数量
SELECT*FROM users LIMIT 2;
SELECT*FROM users LIMIT 3,2;
//子查询(SubQuery):嵌套在查询内部,放在圆括号里面。
//将查询后的结果写入表中
INSERT [INTO] tbl [(id,username)]
SELCET...
//连接类型:
//1、内连接(INNER JOIN):显示两表中符合连接条件的部分。
//2、左外连接(LEFT[OUTER] JOIN):显示左表中的全部和右表中符合条件的部分。
//3、右外连接(RIGHT[OUTER] JOIN)
//两张表连接更新:
//方法一:
UPDATE tbl1(要更新的表) INNER JOIN tbl2(参考表) ON tbl1.id=tbl2.id(条件) SET...
//方法二:创建一张新表,创建新的字段用于保存查找后的结果。
CREATE TABLE [IF NOT EXIST] tbl
create_name ....
SELECT...
//当两张表连接时,两表中存在相同的字段,因此可以给同名字段赋予不同的别名。数据表在使用过程中可以赋予别名使用。
// mysql 生成日报、周报、月报和年报方法
1、日报/周报/月报/年报
select date/week/month/year (F_InputDate) as date, count(F_Id) as count from t_inquiry group by date;
2、某年某月
select date_format(F_InputDate,'%Y-%m') as date, count(F_Id) from t_inquiry group by date;
3、某年某周
select date_format(F_InputDate,'%Y-%w') as date, count(F_Id) from t_inquiry group by date;
dater_format() 方法参数说明
mysql 语句 简书_MySQL SQL语句相关推荐
- mysql命令书写顺序_MySQL SQL语句书写顺序和执行顺序
SQL语句书写顺序和执行顺序 (7) SELECT (8) DISTINCT (1) FROM (3) JOIN (2) ON (4) WHERE (5) GROUP BY (6) HAVING (9 ...
- mysql oracle 查询语句执行顺序_MySQL sql语句执行顺序
(8) DISTINCT (1) FROM (3) JOIN (2) ON (4) WHERE (5) GROUP BY (6) HAVING ...
- mysql 生成日历视图_mysql sql语句生成日历表
mysql sql语句生成日历表 (主要用于按月,按天group by分组统计时,有些日期没有记录,需要补0) 从自定义的开始时间,生成1万条记录 CREATE TABLE if not exist ...
- mysql存储过程 简书_MySQL存储过程
在本节中,您将逐步学习如何在MySQL中编写和开发存储过程. 首先,我们向您介绍存储过程的概念,并讨论何时使用它. 然后,展示如何使用过程代码的基本元素,如创建存储过程的语句,if-else,case ...
- mysql安装简书_MySQL的安装与配置——详细教程
免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的 标准化语言,其特点为体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,在 Web 应 ...
- mysql安装简书_MySQL 安装和配置
免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的 标准化语言,其特点为体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,在 Web 应 ...
- mysql 存储过程 简书_MySQL学习之存储过程
一.存储过程 1-1.含义:一组预先编译好的SQL语句的集合,理解成批处理语句 1.提高代码的重用性 2.简化操作 3.减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率 存储过程和函数:类 ...
- mysql 索引 简书_MySQL 索引
索引用于快速查找具有特定列值的行.如果没有索引,MySQL必须从第一行开始,然后读取整个表以查找相关行.表越大,成本越高.如果表中有相关列的索引,MySQL可以快速确定要在数据文件中间寻找的位置, ...
- mysql安装简书_MySQL 安装
MySQL安装文件分为zip格式和msi格式. 在这里可以选择需要的 MySQL Community Server 版本. 安装zip压缩版时容易遇到文件缺失的问题,推荐新手直接选择msi进行安装. ...
最新文章
- Putty添加SSH Key
- Spring MVC HttpMessageConverter对象
- java final类的写法_重拾JavaSE基础——抽象类、接口、代码块、final和枚举
- 【深度学习】——利用pytorch搭建一个完整的深度学习项目(构建模型、加载数据集、参数配置、训练、模型保存、预测)
- 分解 python_面试官:如何用Python实现将一个整数分解成质因数?
- python 文本处理2
- Vue 实现 Open Graph 分享预览
- 肉袒牵羊的拼音及解释
- 通向财务自由之路01_导读
- 设计模式之GOF23模板模式
- 服务器支持vrrp,【交换机在江湖对接案例】配置VRRP备份组对接NLB服务器群集示例(通过物理链路环回方法)...
- Axure RP 10 安装方法
- CSDN资源共享规范
- Java桶排序LSD
- 栅栏布局合并html,制作简约CSS栅栏布局
- Dropshipping在Facebook广告语怎么写?
- Nginx配置基础-proxy_pass
- 【云计算】1_云计算基础介绍
- switch中break用法
- 锐捷设备设置console和enable密码
热门文章
- 线性代数代码实现(二)上三角矩阵(C++)
- 【XSY1537】五颜六色的幻想乡 数学 生成树计数 拉格朗日插值
- polished_project_es6 源码分析 知识点总结
- 蓝桥算法提高ADV-381 分割项链题解
- 高效开发PHP的5款编辑器
- 计算机原理实验红绿灯转换,微机原理与应用的5个实验 包含8086扩展,8255交通灯,DEBUG程序,数码显示...
- windows远程桌面的管理
- html简单个人网页制作——我的家乡——四川文化(4页) HTML+CSS+JavaScript 家乡主题HTM5网页设计作业成品
- 性能:到底什么是性能测试
- 软件测试需要具备的基本职业素养