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() 方法参数说明

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,060评论 0 19
  • 1、MySQL启动和关闭(安装及配置请参照百度经验,这里不再记录。MySQL默认端口号:3306;默认数据类型格式...
    强壮de西兰花阅读 679评论 0 1
  • 1、约束概述 约束的目的是为了保证数据的完整性与一致性。 按照约束的范围划分:列级约束:只对一个数据列建立约束。既...
    黒猫阅读 1,003评论 3 5
  • 系统用户: 1.sys system(sys权限最高) 2.sysman(操作企业管理器) 密码是安装的时候输入的...
    3hours阅读 1,616评论 0 0
  • 分享王菲的单曲《你快乐(所以我快乐)》http://music.163.com/song/299397?useri...
    亞獅阅读 244评论 0 3