net start mysql;

net stop mysql;

登录与退出

mysql -uroot -pAa8316057 -hlocalhost

exit或quit

常见操作:

DDL 数据库或表的结构操作(****)

DML 对表的记录更新(增/删/改)(****)

DQL 对表的记录查询(****,难点)

DCL 用户创建及授权

类型:

标准:

int整型double(5,2)

decimal精确浮点型char固长 字符串255 补varchar 变长 字符串65535 不补

方言(mySQL独有)

MySQL独有:text(clob):字符串类型

blob:字节类型

date:日期

time:时间timestamp:时间戳

DDL:

数据库(DATABASE)

(创建CREATE,查看SHOW,进入USE,删除DROP)

表(TABLE):

查询表结构: DESC 表名

创建:CREATE TABLE [IF NOT EXISTS]表名(

列名 列类型[PRIMARY KEY] [AUTO_INCREMENT];

...

);

修改:***公共前缀***ALTER TABLE表名

添加列:***公共前缀*** ADD(列名 列类型,...);

删除列:***公共前缀*** DROP列名

改列名:***公共前缀***CHANGE 原列名 新列名 列类型

改列类型:***公共前缀***MODIFY 列名 列新类型

改表名:***公共前缀*** RENAME TO 新表名

DQL(基本查询):

列控制:

查询所有列(或指定列 丨 查询但不显示完全重复行):

SELECT * FROM表名

查询指定列: 把*变成 列1,..,列n

查询但不显示完全重复行: 在* 前 加DISTINCT

列运算:(光查,并不改变数据)

SELECT 运算 FROM表名;

加/减/乘/除: sal+8 sal+name

字符串运算: CONCAT("$",sal)

转换NULL值(把NULL当0来运算): IFNULL(comm,0)+100给列取别名: IFNULL(comm,0)+100 AS 奖金 - (其中AS可以省略)

条件控制:

条件查询:(和UPDATE一样的操作方式)SELECT * FROM 表名 WHERE条件;

模糊查询:SELECT * FROM 表名 WHERE 列名 like "张_";**** 重点: _ 一个字符 % 0-n个字符;

排序:SELECT * FROM 表名 ORDER BY 列名 ASC;

升序:ASC(ASC可以省略)

降序:DESC(DESC不可以省略)

多列作为排序条件:列名ASC,列名 DESC

聚合函数:(列纵向运算)

SELECT 聚合函数 FROM表名;1:行数 COUNT(*或列名) -不记NULL2:大 MAX(列名)3:小 MIN(列名)4:和 SUM(列名)5:平均 AVG(列名)

多项:MAX(列名) AS 大 , MIN(列名) AS 小 ,SUM(列名) AS 和;

分组查询:

SELECT 分组列,聚合函数(支持多项) FROM 表名 [WHERE 条件] GROUP BY 分组列 [HAVING 条件];

执行顺序SELECT查询FROM从WHERE去分组前条件GROUP BY分组HAVING去分组后条件ORDER BY 排序

LIMIT子句(方言)

SELECT * FROM 列名 LIMIT 4,3;(从第5行开始查,一共查3行) -(当前页-1) * 每页记录数 , 每页记录数;

DML:

插入数据:

插入列数据:INSERT INTO 表名(列名1,列名2,...) VALUES(列值1,列值2,..);

修改列值:UPDATE 表名 SET 列名=列值,...;(全改)UPDATE 表名 SET 列名=列值 WHERE 条件列名 = 条件列值 or... ;(指定条件改)= != <> > < >= <= NOT OR AND BETWEEN...AND IN(...) IS NULL删除数据:DELETE FROM 表名 [WHERE 条件]; - 一定要加WHERE!!!

DCL:

创建用户:CREATE USER 用户名@ip地址 IDENTIFIED BY "密码"; 任意IP登录: @"%"给用户授权:GRANT 权限1,..权限n NO 数据库.* TO 用户名@ip地址 所有权限: ALL取消权限:REVOKE 权限1,..权限n NO 数据库.* FROM 用户名@ip地址查看权限:

SHOW GRANTSFOR 用户名@ip地址删除用户:DROP USER 用户名@ip地址

查看数据库编码:

SHOW VARIABLES LIKE "char%";

改:C:ProgramData下my.ini文件 :default-character-set=gbk

可以改3个变量client(进).connection.results(出)

备份/恢复 数据库内容:

备份数据库内容(退出状态下输入): mysqldump -u用户名 -p密码 据库名>f:/a.sql

恢复数据库内容(退出状态下输入): mysql-u用户名 -p密码 据库名

第二种方式:进入数据库后 source f:/a.sql

约束:

1:主键约束:

创建: 创建时候在 列名 列类型 后加 PRIMARY KEY [];

创建后:ADD PRIMARY KEY(列名);

删除:ALTER TABLE 表名 DROP PRIMARY KEY;

2:主键自增长:

创建:AUTO_INCREMENT(在主键后面加 , 详看创建列) -只能加在整数CREATE TABLEdept(

deptnoINT PRIMARY KEYAUTO_INCREMENT,

dnameVARCHAR(50)

);INSERT INTO dept VALUES(10,"研发部");INSERT INTO dept VALUES(20,"人力部");INSERT INTO dept VALUES(30,"财务部");SELECT * FROMdept;CREATE TABLEemp(

empnoINT PRIMARY KEYAUTO_INCREMENT,

enameVARCHAR(50),

dnoINT,CONSTRAINT fk_emp_dept FOREIGN KEY(dno) REFERENCESdept(deptno)

);INSERT INTO emp(empno,ename) VALUES(NULL,"zhagsan");SELECT * FROM emp;

3:非空约束:

加 NOT NULL;

4:唯一约束:

加 UNIQUE;一般和NOT NULL一起用

5:概念模型:

6:外键约束:

语法:CONSTRAINT 约束名称 FOREIGN KEY(外键列名) REFERENCES关系表(关联表的主键)

例:CONSTRAINT fk_emp_dept FOREIGN KEY(dno) REFERENCES dept(deptno)

7:数据库1对1关系

思路:从表的主键即是外键!

/*--------课时9:1对1--------*/

/*创建表*/

CREATE TABLEhashand(

hidINT PRIMARY KEYAUTO_INCREMENT,

hnameVARCHAR(50)

);/*修改表名*/

ALTER TABLEhashand

RENAMETOhasband/*插入记录*/

INSERT INTO hasband VALUES(NULL,"刘备");INSERT INTO hasband VALUES(NULL,"关羽");INSERT INTO hasband VALUES(NULL,"张飞");/*查看*/

SELECT * FROMhasband/*创建1对多

CREATE TABLE wife(

wid int primary KEY auto_increment,

wname VARCHAR(50),

hid int,

CONSTRAINT fk_wife_hasband foreign key(hid) references hasband(hid)

);*/

/*创建*/

CREATE TABLEwife(

widINT PRIMARY KEYAUTO_INCREMENT,

wnameVARCHAR(50),CONSTRAINT fk_wife_hasband FOREIGN KEY(wid) REFERENCEShasband(hid)

);/*wid

1:非空

2:唯一

3:引用hid*/

/*满足以上3个条件*/

INSERT INTO wife VALUES(1,"杨贵妃");INSERT INTO wife VALUES(2,"妲己");INSERT INTO wife VALUES(3,"大乔");/*查询*/

SELECT * FROM wife;

8:数据库多对多关系

/*--------课时10:多对多--------*/

/*创建学生表*/

CREATE TABLEstudent(

sidINT PRIMARY KEYAUTO_INCREMENT,

snameVARCHAR(50));/*创建教师表*/

CREATE TABLEteacher(

tidINT PRIMARY KEYAUTO_INCREMENT,

tnameVARCHAR(50));/*创建关联表*/

CREATE TABLEstu_tea(

sidINT,

tidINT,CONSTRAINT fk_student FOREIGN KEY(sid) REFERENCESstudent(sid),CONSTRAINT fk_teacher FOREIGN KEY(tid) REFERENCESteacher(tid)

);/*往2张表插记录*/

INSERT INTO student VALUES(NULL,"刘德华");INSERT INTO student VALUES(NULL,"梁朝伟");INSERT INTO student VALUES(NULL,"谢霆锋");INSERT INTO student VALUES(NULL,"张含韵");INSERT INTO student VALUES(NULL,"小虎乐队");INSERT INTO teacher VALUES(NULL,"李代萍");INSERT INTO teacher VALUES(NULL,"童林");INSERT INTO teacher VALUES(NULL,"张老师");/*分别查出来*/

SELECT * FROMstudent;SELECT * FROMteacher;/*建立关系*/

INSERT INTO stu_tea VALUES(1,1);INSERT INTO stu_tea VALUES(2,1);INSERT INTO stu_tea VALUES(3,1);INSERT INTO stu_tea VALUES(4,1);INSERT INTO stu_tea VALUES(5,1);INSERT INTO stu_tea VALUES(2,2);INSERT INTO stu_tea VALUES(3,2);INSERT INTO stu_tea VALUES(4,2);INSERT INTO stu_tea VALUES(3,3);INSERT INTO stu_tea VALUES(4,3);INSERT INTO stu_tea VALUES(5,3);/*查关系表*/

SELECT * FROM stu_tea;

阿里云的mysql的教程_MySQL阿里云数据库学习路线-基础相关推荐

  1. mysql 进阶教程_MySQL进阶知识(一)——基础

    1.关于MySQL的一些文件 MySQL如何安装.如何配置自启动,这里不进行讲述,可自行搜索相关安装教程进行处理.这里主要介绍MySQL的主要配置文件. ①二进制日志log-bin:用于主从复制. ② ...

  2. Android基础入门教程——7.6.1 Socket学习网络基础准备

    Android基础入门教程--7.6.1 Socket学习网络基础准备 标签(空格分隔): Android基础入门教程 本节引言: 为了照顾没学过Java Socket的初学者,或者说捋一捋Andro ...

  3. 阿里云ECS服务器使用教程 新手上云好助手

    随着普及率越来越高,云服务器已经成为企业及个人用户开展网络业务的首选了,阿里云服务器在国内起步早,现在的用户数量是国内第一,全球五强.因为初次接触云服务,所以阿里云服务器的使用方法,对于很多新手小白还 ...

  4. 阿里云的mysql主机名_阿里云的数据库主机名是什么

    全网最新活动请看下方内容或右侧内容! --------------- 阿里云的数据库主机名是什么,阿里云怎么建数据库. 在阿里云ecs云服务器上部署数据库后,在平常的操作中可能会遇到些问题,可以先做个 ...

  5. mysql 全文检索 教程_MySQL:详细说明MySQL全文检索图文详细教程

    软件安装:装机软件必备包 本站电脑知识提供电脑入门知识,计算机基础知识,计算机网络应用基础知识,电脑配置知识,电脑故障排除和电脑常识大全,帮助您更好的学习电脑!不为别的,只因有共同的爱好,为中国互联网 ...

  6. mysql less6教程_MySQL 超级入门教程

    原标题:MySQL 超级入门教程 MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二 ...

  7. mysql资源教程_MySQL 超级入门教程(内含资源福利)

    原标题:MySQL 超级入门教程(内含资源福利) MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场 ...

  8. mysql资源教程_MySQL 超级入门教程以及MySQL 资源大全的分享

    MySQL简介 1.什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅 ...

  9. mysql日期教程_MySQL日期函数详解

    Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数,希望能帮助到大家. 1.DAYOFWEEK(date) SELECT DAYOFWEE ...

最新文章

  1. JS子窗口调用父窗口中的函数
  2. Java类中的权限修饰符
  3. HTML5 placeholder在低版本浏览器的解决方法
  4. Android定位开发之百度定位、高德定位、腾讯定位,三足鼎立一起为我所用!
  5. 华农保险 × 神策数据 OpenDay:保险如何从 0 到 1 落地数字化转型?
  6. Python面向切面编程是什么
  7. 程序员面试金典 - 面试题 17.08. 马戏团人塔(最长上升子序 DP/二分查找)
  8. java队列优先级_优先级队列-Java的PriorityQueue与最小堆有何不同?
  9. MapReduce编程(四) 求均值
  10. OSI参考模型和TCP/IP参考模型
  11. 杭州哪里学python好_杭州哪里学python好
  12. 通过管道实现文件的拷贝
  13. BigDecimal使用不当,老板的损失照样从你工资里扣
  14. python实现科赫雪花的绘制(最简单)
  15. boobooke播布客
  16. OSG智能指针---Referenced类
  17. Linux 10GE端口,CR19000关于10GE端口切换GE口
  18. php7.2.3下载,最新PHP编程软件v7.3.2.0 官方版下载地址电脑版-锐品软件
  19. 通过宏快速破解EXCEL文件密码
  20. 【树莓派】网络视频监控

热门文章

  1. 【Python】tqdm 介绍与使用
  2. linux系统数据恢复TestDisk,如何用testdisk恢复文件 Linux已删除的文件如何恢复
  3. 网络图(单代号、双代号、时标网络图)
  4. P1553 数字反转(升级版)
  5. HP中国区总裁离职感言[转]
  6. 【武汉科技大学】考研初试复试资料分享
  7. 零插件sketchup草图大师su逆向建模“世纪钟”雕塑
  8. 【Linux】scp IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! 错误
  9. 如何解决Camtasia下载安装时“2503”报错
  10. ROS2——DDS(十三)