欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL中的基础知识

程序员文章站 2022-04-28 21:14:59
...
清屏:cls

MySQL基础

启动MySQL net start mysql

关闭MySQL net stop mysql

登录 mysql -uroot -p

退出 mysql>exit;

mysql>quit;

mysql>\p;

显示当前服务器版本 SELECT VERSION();

显示当前时间 SELECT NOW();

显示当前用户 SELECT USER();

MySQL默认的端口号是:3306

MySQL超级用户是:root

创建数据库:CREATE DATABASE

修改数据库:ALTER DATABASE

删除数据库:DROP DATABASE

数据类型

整型:TINYINT SMALLINT MEDIUMINT INT BIGINT

浮点型: FLOAT[(M,D)] DOUBLE[(M,D)] M为数字总位数,D为小数点后面的位数

字符型:VERCHAR(M)

数据表

查看有什么数据库:SHOW DATABASES;

打开数据库:USE 数据库名称

查看当前数据库:SELECT DATABASES;

创建数据表:CREATE TABLE[IF NOT EXISTS]table_name(

ageTINYINT UNSGINED(无符号位),

......

)

查看数据表列表:SHOW TABLES[FORM db_name];使用form可以查看别的数据库中的表

查看数据表结构:SHOW COLUMNS FORM tbl_name;

插入记录;INSERT [INTO] tbl_name[(coi_name,...)] VALUES(VAL,...);

查找记录:SELECT expr,...FORM tbl_name(WHERE .....);

空值与非空

CREATE TABLE[IF NOT EXISTS]table_name(

age1 TINYINT UNSGINED(无符号位) NOT NULL,

age2 TINYINT UNSGINED(无符号位) NULL,//默认是可以为空

......

)

自动编号AUTO_INCREMENT

1自动编号,且必须与主键组合使用

2默认情况下,起始值为1,增量为1

主键PRIMARY KEY

1每张表只能有一个主键

主键保证记录的唯一性

主键自动为NOT NULL

CREATE TABLE[IF NOT EXISTS]table_name(

age1 TINYINT UNSGINED(无符号位) PRIMARY KEY,

......

)

唯一约束UNIQUE KEY

默认约束:DEFAULT

更新记录UPDATE

语法:UPDATE tb_name SET age=age+10 WHERE name="chaihuo";

删除记录FELETE

语法:DELETE FORM tb_name WHERE name="chaihuo";

查询结果分组GROUP BY

语法:SELECT sex FORM users BY sex;

HCAING分组条件

语法:SELECT sex,age FORM users BY sex HAVING age>35;

主要:此时HAVING后面只有两种情况1)聚合函数2)在select后面

对查询结果进行排序ORDER BY

语法:SELECT * FORM users ORDER BY id DESC;

运算符和函数

字符运算符

CONCAT()字符连接

CONCAT_WS()使用指定的分隔符进行字符连接

FORMAT()数字格式化

LOWER()UPPER()转换成小/大写字母

LEFT() RIGHT()获取左/右侧字符

LENGTH()获取字符串长度

SUBSTRING()字符串截取

[NOT] LIKE 模式匹配

REPLACE()字符串替换

数值运算符与函数

CEIL() 进一取整

DIV 整数除法

FLOOR()舍一取整

MOD 取余数

POWER() 幂运算

ROUND()四舍五入

比较运算符与函数

[NOT] BETWEEN...AND... [NOT]IN() IS[NOT]NULL

信息函数

CONNECTION_ID() 连接id

DATEBASE()当前数据库

LAST_INSERT_ID()最后插入记录的Id号

USER()当前用户

VERSON()版本信息

聚合函数

AVG()平均值

COUNT()计数

MAX() MIN() SUM()

加密函数

MD5()信息摘要算法

PASSWORD()密码算法

子查询和连接

将查询结果写入数据表

INSERT[INTO] tbl_name[(col_name,...)] SELECT...

例子:INSERT tdb_goods(cate_name) SELECT good_cake FORM table GROUP BY good_cake;

多表更新

UPDATE table1 INNER JOIN table2 ON table1_name=table2_name SET table1_id=table2_di;

CREATE...SELECT

创建数据表同时将查询结果写入到数据表

CREATE TABLE table_name [(create_definine)] select_statement

例:CREATE TABLE table1(

id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,

name VARCHAR(20) NOT NULL)

SELECT SELECT good_cake FORM table GROUP BY good_cake;

)

存储引擎

通过修改MySQL配置文件实现

1)-ddfault-storage-engine=engine

2)通过创建数据表命令实现

CREATE TABLE[IF NOT EXISTS]table_name(

age1 TINYINT UNSGINED(无符号位) NOT NULL,

age2 TINYINT UNSGINED(无符号位) NULL,//默认是可以为空

......

)ENGINE=engine;

通过修改数据表命令实现

-ALTER TABLE table_name ENGINE[=]engine_name;

存储引擎

MyISAM:存储现在可达256TB,支持索引。表级锁定,数据压缩

InnoDB:存储限制为64TB,支持事务和索引。锁颗粒为行锁

以上就是MySQL中的基础知识的详细内容,更多请关注其它相关文章!

相关标签: MySQL MySQL基础