MySQL的知识点总结(一)

  • 前言:

一直没有把学习笔记写成网络日志的习惯,一是觉得不大方便;二是觉得查找起来没有纸质的手感(女生的特质吧)。但是呢,近期要准备校招,为了总结大学期间专业课的学习内容和自学的一些知识,所以要开始写网络笔记了。由于个人技术有限,若有错误的地方,请大家指正。



一、关于MySQL数据库的操作

创建、修改、删除数据库

create database if not exists test;  //创建一个名为test的数据库
use test;                                     //使用USE命令指定当前数据库
alter database test                      //修改数据库test的默认字符集和校对规则
default character set gbk
default collate gb2312_chinese_ci;
drop database if exists test;                    //删除数据库test
  • IF NOT EXISTS:在创建数据库前进行判断,只有该数据库目前尚不存在时才执行;在删除数据库的时候,避免删除不存在的数据库时出现MySQL错误信息

二、MySQL表操作

创建、修改、删除表

show tables;    //该命令可以查看当前数据库中有哪些表

create table student   //创建一个名字为student的表
(
  学号 char(6) not null primary key,
  姓名 char(8) not null,
  性别 tinyint(1) not null default 1,
  出生日期 date not null,
  照片 blob null,
  备注 text null
);
  • auto_increment:设置自增属性,只有整形列才能设置此属性,顺序从1开始。
  • 定义外码时,数据类型和长度必须一样;参照的属性必须是主码。
  • 当一个表中有多个属性作为主码时,必须在字段定义完成后定义主码。
//alter table用于更改原有表的结构

alter table student
  add 毕业院校 varchar not null after 姓名,   //增加毕业院校这一列在姓名的后面
  drop column 照片;                                  //删除照片这一列

rename table student to stu;                    //将student表名更改为stu

drop table if exists stu;                           //删除表stu

二、表记录的操作

插入、修改、删除记录

  • 向表中插入全新的记录用INSERT语句
  • 替换旧记录用REPLACE语句,可以在插入数据之前将与新记录冲突(如:主键的唯一性)的旧记录删除,从而使新记录能够替换旧记录,正常插入。
  • 修改表记录用UPDATE语句,可以用来修改一个表,也可以用来修改多个表
  • 删除表记录用DELETE语句(还可以用TRANCATE TABLE语句,不过,我好像没用过~)
use test
insert into student
  values(‘081101‘,‘王林‘,‘山东工商学院‘,1,‘1993-02-08‘);
replace into student
  values(‘081101‘,‘张三‘,‘武汉大学‘,0,‘1992-01-12‘);
update student
  set 总学分 = 总学分 +10;             //将student表中的所有学生的总学分增加10

update user,vip                     //同时对表user和表vip记录进行修改
  set user.password=‘111‘,vip.password=‘222‘
  where user.id=vip.id;
use test
delete from student           //删除test数据库里表student中学分小于60的学生记录
  where 总学分<60;

btw:今天做数据库的题目时,有个题目是查看MySQL表结构的语句,当时只想起decribe table_name;其实总共有三种方法:

  1. describe table_name;
  2. desc table_name;         //这里的desc就是describe的简写啦
  3. show create table table_name;      //显示创建一个表的create table语句(这个方法好像真没用过,截图如下)

时间: 2024-08-26 09:29:24

MySQL的知识点总结(一)的相关文章

MySQL 视图知识点小结

视图本身是一个虚拟表,不存放任何数据.在使用SQL语句访问视图的时候,它返回的数据是MySQL从其他表中生成的.视图和表在同一个命名空间, MySQL在很多地方对于视图和表是同样对待的.不过视图和表也有不同.例如,不能在视图上创建触发器,也不能用DROP TABLE命令删除视图. 视图的实现算法: 合并算法:merge 临时表算法:tmptable 可更新视图(updatable view):可以通过更新视图来更新视图涉及的相关表. 如果视图定义中包含了group by .union.聚合函数.

MySQL数据库知识点整理 (持续更新中)

一.修改用户密码 格式(在命令行下输入):mysqladmin -u 用户名 -p旧密码 password 新密码 1. 给root添加密码ab12:  mysqladmin -uroot -password ab12 2. 将root的密码修改为djg345:    mysqladmin -uroot -pab12 password djg345 二.添加新用户 格式:grant 权限 on 数据库名.表名 to 用户名@登录主机  identified by "密码" 1. 增加一

MySQL高级知识点

MySQL高级知识初识 一.视图: 1.什么是视图: 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( SELECT nid, NAME FROM tb1 WHERE nid > 2 ) AS A WHERE A. NAME > 'xkj'; 2.创建视图 --格式:CREATE VIEW 视图名称 AS SQL语句 CREATE VIEW v1 AS SE

10分钟梳理MySQL核心知识点

今天我们用10分钟,重点梳理一遍以下几方面: 数据库知识点汇总: 数据库事务特性和隔离级别: 详解关系型数据库.索引与锁机制: 数据库调优与最佳实践: 面试考察点及加分项. 一.数据库的不同类型 1.常用的关系型数据库 Oracle:功能强大,主要缺点就是贵 MySQL:互联网行业中最流行的数据库,这不仅仅是因为MySQL的免费.可以说关系数据库场景中你需要的功能,MySQL都能很好的满足,后面详解部分会详细介绍MySQL的一些知识点 MariaDB:是MySQL的分支,由开源社区维护,Mari

掌握这13个MySQL索引知识点,让你面试通过率翻倍

数据库索引有关的知识,说实在的,真的是很复杂,本来想好好看看这方面的东西,然后写篇文章详细谈谈的,后来发现索引的知识太难太深,要谈得全面又详细真的很难,所以最后还是把自己学到的和想到的变成下面一个个的问题,希望能对大家帮助! 知识点 问题1:什么是数据库索引? 数据库索引是数据库系统中一个重要的概念,索引也叫做 key ,是一种用于提升数据库查询效率的数据结构,我们可以把索引理解成一本书的目录,通过目录我们可以快速找到对应章节的内容,同样的,通过数据库索引,我们可以快速找到数据表中对应的记录.

MySQL 分区知识点(三)

前言: MySQL 分区后每个分区成了独立的文件,虽然从逻辑上还是一张表其实已经分成了多张独立的表, 从 information_schema.INNODB_SYS_TABLES 系统表可以看到每个分区都存在独立的 TABLE_ID: 由于 Innodb 数据和索引都是保存在 ".ibd" 文件当中(从INNODB_SYS_INDEXES 系统表中也可以得到每个索引都是对应各自的分区( primary key 和 unique 也不例外)), 所以分区表的索引也是随着各个分区单独存储.

Mysql零碎知识点(今日所学)

1. 列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 select a.deptid, count(*) from employee921 as a INNER JOIN (select deptid, avg(salary)as avgsar from employee921 group by deptid) as b where a.deptid = b.deptid and a.salary > b.avgsar group by a.deptid order by

mysql常用知识点

原文出处:http://www.cnblogs.com/shockerli/p/1000-plus-line-mysql-notes.html /* 启动MySQL */net start mysql /* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */mysqld --skip-grant-tables-- 修改root密码密码加密函数password()update mysql.user set password=p

MySQL之知识点

1.执行顺序 语句模板: (8)SELECT (9)DISTINCT (11)<Top Num> <select list> (1)FROM [left_table] (3)<join_type> JOIN <right_table> (2)ON <join_condition> (4)WHERE <where_condition> (5)GROUP BY <group_by_list> (6)WITH <CUBE