重庆小潘seo博客

当前位置:首页 > 重庆网络营销 > 小潘杂谈 >

小潘杂谈

MySQL中的基础知识

时间:2020-09-22 20:20:07 作者:重庆seo小潘 来源:
清屏:cls MySQL基础 启动MySQLnet start mysql 关闭MySQLnet stopmysql 登录mysql -uroot -p 退出mysqlexit; mysqlquit; mysqlp; 显示当前服务器版本SELECT VERSION(); 显示当前时间SELECT NOW(); 显示当前用户SELECT USER(); MySQL默认的端口号是:3306 My

清屏:cls

MySQL基础

启动MySQLnet start mysql

关闭MySQLnet stopmysql

登录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

数据类型

整型:TINYINTSMALLINTMEDIUMINTINT 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

语法:SELECTsex FORM users BY sex;

HCAING分组条件

语法:SELECTsex,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 BYgood_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(

idSMALLINT UNSIGNED PRIMARY KEYAUTO_INCREMENT,

name VARCHAR(20)NOTNULL)

SELECT SELECT good_cake FORM table GROUP BYgood_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中的基础知识的详细内容,更多请关注小潘博客其它相关文章!