mysql考试考点_mysql数据库常见考点语句

虽然有一款非常好用的可视化工具NAVICAT FOR MYSQ,但是必要的数据库语句还是要掌握的,

下面我来介绍一个平时经常用到的一些语句。

一、用户操作

1、新建用户:

CREATE USER name IDENTIFIED BY 'srm';

2、更改密码:

SET PASSWORD FOR name=PASSWORD('123456');

二、数据库操作

1、查看数据库:

SHOW DATABASES;

2、创建数据库:

CREATE DATABASE db_name;  //db_name为数据库名

3、使用数据库:

USE db_name;

4、删除数据库:

DROP DATABASE db_name;

三、创建表

1、创建表:

CREATE TABLE table_name(

id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,    //id值,无符号、非空、递增——唯一性,可做主键。

username VARCHAR(60) NOT NULL

password TINYINT UNSIGNED NOT NULL DEFAULT 0,    //设置默认列值

PRIMARY KEY(id)

)ENGINE=InnoDB    //设置表的存储引擎,一般常用InnoDB和MyISAM;InnoDB可靠,支持事务;MyISAM高效不支持全文检索

DEFAULT charset=utf8;  //设置默认的编码,防止数据库中文乱码

2、复制表

CREATE TABLE tb_name2 SELECT * FROM tb_name;

或者部分复制:

CREATE TABLE tb_name2 SELECT id,name FROM tb_name;

3、创建临时表:

CREATE TEMPORARY TABLE tb_name(这里和创建普通表一样);

4、查看数据库中可用的表:

SHOW TABLES;

5、查看表的结构:

DESCRIBE tb_name;

也可以使用:

SHOW COLUMNS in tb_name;     //from也可以

6、删除表:

DROP [ TEMPORARY ] TABLE [ IF EXISTS ] tb_name[ ,tb_name2.......];

实例:

DROP TABLE IF EXISTS tb_name;

7、表重命名:

RENAME TABLE name_old TO name_new;

还可以使用:

ALTER TABLE name_old RENAME name_new;

四、修改表

更改表结构:

ALTER TABLE tb_name ADD[CHANGE,RENAME,DROP] ...要更改的内容...

实例:

ALTER TABLE tb_name ADD COLUMN address varchar(80) NOT NULL;

ALTER TABLE tb_name DROP address;

ALTER TABLE tb_name CHANGE score score SMALLINT(4) NOT NULL;

五、插入数据

1、插入数据:

INSERT INTO tb_name(id,name,score)VALUES(NULL,'张三',140),(NULL,'张四',178),(NULL,'张五',134);

这里的插入多条数据直接在后边加上逗号,直接写入插入的数据即可;主键id是自增的列,可以不用写。

2、插入检索出来的数据:

INSERT INTO tb_name(name,score) SELECT name,score FROM tb_name2;

六、更新数据

1、指定更新数据:

UPDATE tb_name SET score=189 WHERE id=2;

UPDATE tablename SET columnName=NewValue [ WHERE condition ]

七、删除数据

1、删除数据:DELETE FROM tb_name WHERE id=3;

八、条件控制

1、WHERE 语句:

SELECT * FROM tb_name WHERE id=3;

2、HAVING 语句,having字句可以让我们筛选分组之后的各种数据

SELECT * FROM tb_name GROUP BY score HAVING count(*)>2

3、相关条件控制符:

=、>、、IN(1,2,3......)、BETWEEN a AND b、NOT

AND 、OR

Linke()用法中 % 为匹配任意、 _ 匹配一个字符(可以是汉字)

IS NULL 空值检测

九、MySQL的正则表达式

1、Mysql支持REGEXP的正则表达式:

SELECT * FROM tb_name WHERE name REGEXP '^[A-D]' //找出以A-D 为开头的name

2、特殊字符需要转义。

十、MySQL的一些函数

1、字符串链接——CONCAT()

SELECT CONCAT(name,'=>',score) FROM tb_name

2、数学函数:

AVG、SUM、MAX、MIN、COUNT;

3、文本处理函数:

TRIM、LOCATE、UPPER、LOWER、SUBSTRING

4、运算符:

+、-、*、\

5、时间函数:

DATE()、CURTIME()、DAY()、YEAR()、NOW().....

十一、分组查询

1、分组查询可以按照指定的列进行分组:

SELECT COUNT(*) FROM tb_name GROUP BY score HAVING COUNT(*)>1;

2、条件使用Having;

3、ORDER BY 排序:

ORDER BY DESC|ASC    =>按数据的降序和升序排列

十二、键值操作

# 添加主键ALTER TABLE n ADD PRIMARY KEY(id);ALTER TABLE n ADD CONSTRAINT pk_n PRIMARY KEY(id); # 主键只有一个,所以定义键名似乎也没有什么用

# 删除主键ALTER TABLE n DROP PRIMARY KEY;

# 添加外键ALTER TABLE m ADD FOREIGN KEY (id) REFERENCESn(id); # 自动生成键名m_ibfk_1ALTER TABLE m ADD CONSTRAINT fk_id FOREIGN KEY (id) REFERENCESn(id); # 使用定义的键名fk_id

# 删除外键ALTER TABLE m DROP FOREIGN KEY`fk_id`;

# 修改外键ALTER TABLE m DROP FOREIGN KEY `fk_id`, ADD CONSTRAINT fk_id2 FOREIGN KEY (id) REFERENCESn(id); # 删除之后从新建

# 添加唯一键ALTER TABLE n ADD UNIQUE(name);ALTER TABLE n ADD UNIQUEu_name (name);ALTER TABLE n ADD UNIQUE INDEXu_name (name);ALTER TABLE n ADD CONSTRAINT u_name UNIQUE(name);CREATE UNIQUE INDEX u_name ONn(name);

# 添加索引ALTER TABLE n ADD INDEX(age);ALTER TABLE n ADD INDEXi_age (age);CREATE INDEX i_age ONn(age);

# 删除索引或唯一键DROP INDEX u_name ONn;DROP INDEX i_age ON n;

十三、联表查询

# 内联接,*的位置不可以放公共字段,因为不知道要的哪个SELECT * FROM m INNER JOIN n ON m.id =n.id;

# 左外联接,右边表中不满足指定的条件时,会在结果中以 NULL 呈现SELECT * FROM m LEFT JOIN n ON m.id =n.id;

# 右外联接SELECT * FROM m RIGHT JOIN n ON m.id =n.id;

# 交叉联接SELECT * FROM m CROSS JOINn; # 标准写法SELECT * FROMm, n;

# 类似全连接full join的联接用法SELECT id,name FROMmUNION

SELECT id,name FROM n;

十四、聚合函数

SELECT count(id) AS total FROMn; # 总数SELECT sum(age) AS all_age FROMn; # 总和SELECT avg(age) AS all_age FROMn; # 平均值SELECT max(age) AS all_age FROMn; # 最大值SELECT min(age) AS all_age FROMn; # 最小值

十五、索引

索引,在关系数据库中,是一种单独的、物理的对数据库表中的一列或多列的值进行排序的一种存储结构。

它是某个表中一列或若干列的集合和相应的指向表中物理标识。这些值得逻辑页的逻辑指针清单。索引的作用

相当于图书的目录,可以根据页码快速找到所找的内容。数据库根据索引找到特定值,然后顺指针找到该值的

行,这样可以使对应于表的sql语句执行的更快,可以快速访问数据库中的特定信息。

十六、b+树

B+树是一种树数据结构,通常用于数据库和操作系统的文件系统中。B+树的特点是能够保持数据稳定有序,

其插入与修改拥有较稳定的对数时间复杂度。B+树元素自底向上插入,这与二叉树恰好相反。

参考自:https://blog.csdn.net/c361604199/article/details/79479398?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值