MYSQL入门

安装数据库、配置环境变量这里就不赘述了。

1、系统命令

net start mysql      开启数据库

net stop mysl   关闭数据库

1.1登录数据库

mysql -h 127.0.0.1 -u root -p password 

-u  --username=name, 用户名

-h  --host=name, 服务器名称

-p  --password[=pwd], 密码

-D  --database=name, 打开指定数据库

--prompt=name, 设置命令提示符

--delimiter=name,指定分割符

-V --version,输出版本信息

1.2退出数据库

exit

quit

q

ctrl+c

1.3命令提示符

命令提示符常用参数

D  完整的日期

d  当前的数据库

h  服务器名称

U  当前的用户名

mgsql> prompt  D`d`h`u

1.5、mysql常用命令

  select version();   显示当前版本

  select now();  显示当前日期时间

  select user();  显示当前用户

1.6 语句规范

关键字和函数全部大写

数据库名称、表名称、字段名称等小写

sql语句必须以分隔符结尾(默认;)

sql语句支持折行操作

数据库名称、表名称、字段名称不要用mysql的保留字,如需要用反引号(‘’)

1.7 数据库相关操作(db_name:表示数据库名称)

1.创建数据库   CREATE DATABASE  db_name;

2、查看当前服务器下的数据库   SHOW DATABASES;

3、查看指定数据库定义  SHOW CREATE {DATABASE|SCHEMA}

 db_name;

4、创建数据库的编码    CREATE DATABASE db_name IF NO EXISTS DEFAULT CHARACTER SET = "gbk";

5、修改数据库编码  ALTER DATABASE db_name  DEFAULT CHARACTER SET "gbk";

6、打开指定数据库    use db_name;

7、当前打开数据库名称  SELECT   DATABASE();

8、删除指定数据库  DROP DATABASE db_name;

9、查看警告信息    SHOW WARNINGS;

2、数据类型

2.1整数类型(从小到大)

TINYNT < SMALLINT  <MEDIUMAINT < INT < BIGINT

BOOL, BOOLEAN    ===  TINYINT(1) , 0为false,其余为true

2.2、浮点类型

FLOAT[(M, D)]  DOUBLE[(M,D)]  DECIMAL[(M,D)]

2.3、字符串类型

CHAR  VACHAR(M)  TINYTEXT  TEXT  MEDIUMTEXT  LONGTEXT  ENUM('value1','value2'...)  SET('value1','value2'...)

2.4、日期时间类型

TIME  DATE  DATETIME  TIMESTAMP  YEAR

3.存储类型

查看mysql支持的存储引擎   SHOW ENGINES;

查看显示支持的存储引擎信息  SHOW VARIABLES LIKE 'have%‘;

查看 默认的存储引擎    SHOW VARIABLES LIKE 'storage engine'

常用的存储引擎

InnoDB     事物、回滚、高并发。。(多数用这个)

MyISAM  占用磁盘空间小,处理快,不支持事物

MEMORY   存储在内存,快处理,需求服务器内存大,出现异常影响完成性

4、创建TABLE

CREATE TABLE IF NOT EXISTS 'tab_name'(

id SMALLINT,

username VARHCAR(20),

sex ENUM('男','女','保密'),

birth YEAR,

salary FLOAT(8, 2),

)ENGINE=INNODB CHARSET=UTF8;

查看创建的TABLE:  SHOW TABLES;

查看表结构   DESC tab_name;

查询表   SELECT * FROM tab_name;

4.2约束条件

PRIMARY KEY  主键

AUTO_INCREMENT  自增长

FOREIGN KEY     外键

NOT NULL  非空

UNIQUE  KEY   唯一

DEFAULT   默认值

UNSIGNED  无符号

4.3 修改表结构

修改表名  ALTER TABLE old_name RENAME [TO|AS] new_name;

增加字段  ALTER TABLE tab_name ADD 字段名称 字段类型  完整性约束条件 [FIRST|ALTER];

删除字段  ALTER TABLE tab_name DROP 字段名称

修改字段  ALTER TABLE tab_name MODIFY 字段名称 字段类型  完整性约束条件 [FIRST|ALTER];

修改字段名称  ALTER TABLE tab_name CHANGE 旧字段名称 新字段名称  完整性约束条件 [FIRST|ALTER];

添加默认值  ALTER TABLE tab_name ALTER 字段名称 SET DEFAULT 默认值;

删除默认值  ALTER TABLE tab_name ALTER 字段名称 DROP DEFAULT;

修改表的存储引擎  ALTER TABLE tab_name ENGINE=存储引擎名称

修改自增长的值  ALTER TABLE tab_name AUTO_INCREMNET=值;

添加主键   ALTER TABLE tab_name ADD PRIMARY KEY 字段名称

删除主键    ALTER TABLE tab_name DROP PRIMARY KEY;

添加唯一  ALTER TABLE tab_name ADD UNIQUE 字段名称;

删除唯一  ALTER TABLE tab_name DROP {INDEX|KEY} index_name;

4.4插入数据

不指定字段   INSERT [INTO] tab_name VALUES(...)

指定字段   INSERT [INTO] tab_name(字段1。。。) VALUES(值...)

插入多条数据  INSERT INTO tab_name(字段1...) VALUES(值1..)(值2>>)

SET形式插入记录  INSERT tab_name SET 字段名称=值;

查询结构插入表中  INSERT tab_name[(字段名称)] SELECT 字段名称 tab_name [WHERE]

4.5更新数据

UPDATE tab_name SET 字段名称=值  [WHERE 条件][ORDER BY 字段名][LIMIT 限制条数]

彻底清空数据表   TRUNCTALE[TABLE] tab_name;

          DELETE FROM tab_name;

4.6查询

SELECT * FROM TABLE [WHERE...];

1.* 代表所有

2.别名

eg:  SELECT  a.id AS i, a.username AS u FROM admin AS a;

3.WHERE 条件;

比较    =   <  <=  >  >=  <>  !>  <=>

指定范围       BETWEEN   AND   、   NOT   BETWEEN  AND

指定集合  IN  NOT IN

匹配字符  LIKE  NOT  LIKE

是否为空  IS NULL  IS NOT NULL

多个查询条件  AND  OR

4.分组函数  

GROUP BY

5、聚合函数

COUNT()  MAX()  MIN()  AVG()  SUM()

6、HAVING

通过HAVING字句对分组结果尽心二次筛选

7、ORDER BY 排序

ORDER BY    ORDER BY    DESC

对查询结果排序

8、LIMIT限制查询条数

9、内链接查询

JOIN|CROSS JOIN INNER JOIN

通过ON链接条件

显示两个表中符合链接条件的记录

10、外连接查询

左外连接  LEFT[OUT]JOIN  显示左表的全部记录及右表符合条件的记录

右外连接  RIGHT[OUT]JOIN  显示右表的全部记录及左表符合条件的记录

5、外键

外键是表的一个特殊字段

外键的作用保持数据的一致性和完整性。

子表中创建外键  FOREIGN KEY(子字段) PEFERENCES 主表(字段)

主表中创建外键  CONSTRAINT 子表 FOREIGN KEY(字段) PEFERENCES 主表(字段)

创建外键

ALTER TABLE tab_name(主表) ADD CONSTRAINT 子表 FOREIGN KEY(字段) PEFERENCES 主表(字段);

删除外键

ALTER TABLE tab_name DROP FOREIGN KEY tab_name;

6.联合查询

UNION  UNION ALL

UNION和UNION ALL 的区别UNION去掉相同的记录,UNION ALL是简单的合并。

7.子查询

子查询是将一个查询语句嵌套在另一个查询语句中。内层查询语句的查询结果,可以作为外层查询语句提供条件。

8、正则表达式查询

REGEXT   匹配方式

9.运算符的使用

1.数学函数

2.字符串函数

3.日期时间函数

4.条件判断函数

5.系统函数

6.其他常用函数

10.索引

普通索引  唯一索引  全文索引 单列索引 多列索引 空间索引

内容有点多,减去好多细节,后续更新。。

 

原文地址:https://www.cnblogs.com/waylon/p/6678033.html