程志辉博客 - 一个伪文艺青年
贵在坚持,难在坚持,成在坚持!
程志辉

学习原因

学好数据库是有必要的,一个公司最重要的就是数据,所以有必要进行一个学习!

去年学习开了这门课程,很荣幸今年全部都还给老师了……

层级关系

MySQL=>数据库=>数据表=>存的数据

数据库操作

SHOW DATABAES;    //查询所有数据库
CREATE DATABASE 库名 DEFAULT CHARSET utf8;    //创建数据库并设置编码为uft8
ALTER DATABASE 库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;    //修改数据库编码
DROP DATABASE 库名;    //删除数据库
USE 库名;    //使用数据库
SHOW CREATE DATABASE 库名;    //查看数据库的结构

数据表操作

数据表常用类型:INT(整型),CHAR(固定长度字符串),VARCHAR(可变长度字符串),FLOAT(浮点型),DATE(日期时间类型)

数据库常用约束:NOT NULL(非空),PRIMARY(主键),AUTO_INCREMENT(自增,数字自动加1),UNIQUE(唯一性)

SHOW TABLES;    //显示数据库中的表
CREATE TABLE 表名(
    序号    INT PRIMARY KEY AUTO_INCREMENT,
    学号    CHAR(8)    UNIQUE NOT NULL,
    姓名    VARCHAR(30) NOT NULL,
    性别    CHAR(2) NOT NULL
);    //创建数据表
SHOW CREATE TABLE 表名;    //查看数据表构造
DESC 表名;    //查看数据表结构
ALTER TABLE 表名 DROP 字段;    //删除数据表中的字段
ALTER TABLE 表名 MODIFY 字段 VARCHAR(50);    //修改字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
DROP TABLE 表名;    //删除数据表

数据表中的数据操作

INSERT INTO 表名(字段1,字段2)VALUES('值1','值2');    //增加数据
UPDATE 表名 SET 字段名='值' WHERE 字段名 = '值';    //修改数据
DELETE FROM 表名 WHERE 字段名='值';    //删除数据
SELECT * FROM 字段名;    //查找数据

常见的一些条件语句

去重:SELECT DISTINCT 字段 FROM 表名 WHERE 条件;

逻辑条件:AND OR

比较条件:<,<=,>,>=,<>,between value1 and value2;

判断null:is null

判断空字符串:="" / <>""

模糊条件:like

 %:替换任意长度字符

 _:替换单个字符

分页查询,limit 起始行,查询行数

排序:order by 字段 asc/desc

 asc:升序
 desc:降序

分组:group by 字段

创建数据表练习

创建一个名称为grade的数据表,且添加数据约束条件
具体设置:

序号 :整型,主键,其值自动增加

学号 :固定长度字符串,长度为8,具有唯一性,且为非空

姓名 :可度长度字符串,最长30个字符,非空

性别 :固定长度字符串,长度为2,非空字段

JavaScript :为单精度浮点型,缺省为空

PHP编程 :为单精度浮点型,缺省为空

MySQL :为单精度浮点型,缺省为空

网络互联设备配置:为单精度浮点型,缺省为空

服务器安装与配置:为单精度浮点型,缺省为空

CREATE TABLE grade(
     序号 INT PRIMARY KEY AUTO_INCREMENT,
     学号 CHAR(8) UNIQUE NOT NULL,
     姓名 VARCHAR(30) NOT NULL,
     性别 CHAR(2) NOT NULL,
     JavaScript FLOAT NULL,
     PHP编程 FLOAT NULL,
     MySQL FLOAT NULL,
     网络互联设备配置 FLOAT NULL,
     服务器安装与配置 FLOAT NULL
);

数据库增删改查小练习

数据库名为user

字段名有:username,nickname,password,email ,logintime,createtime

查询

1.请查出2019年5月1号到2019年5月10号的登录信息

SELECT * FROM user WHERE logintime BETWEEN '20190501' TO '20190520';

2.查询出username,email,logintime字段的所有信息

SELECT username,email,logintime FROM user;

3.查询出username为root,nickname为root的相关信息

SELECT * FROM user WHERE username='root' AND nickname='root';

修改

将username为root数据的nickname修改为admin

UPDATE user SET nickname='admin' WHERE 'username'='root';

添加

添加一条username为root,password为123456的数据

INSERT user(username,password)VALUES('root','123456')

删除

删除username为root的数据

DELETE FROM user WHERE username='root';

总结一下

WHERE开头的条件语句一般都是在最后面写,数据库的层次结构记清楚,着重记忆对数据的增删改查操作!

2019年05月21日
  • 云点SEO 从来不记这些,都是复制黏贴了事
  • 奶爸建网站笔记 这个需要学习一下啊。
  • 今日新闻 文章不错支持一下吧
  • 1梦 整理的很好收藏下来了
  • 演员 数据表 可以看着改!
  • 程志辉 作者 回复 演员 嘿嘿,设计表我也忘记的差不多了,现在基本都是软件图形化生成。不同岗位对数据库需要掌握的内容也不一样。
  • 小宇 有些天没来了,最近的博文都是偏向技术了嘛
  • 程志辉 作者 回复 小宇 都是伪技术伪技术,小宇哥好久没来催我更新了啊!
  • 小宇 回复 小宇 因为我自己都快断更了,我怎么好意思来催你阿哈哈哈
  • 张啸天博客 数据是个好东西
  • 程志辉 作者 回复 张啸天博客 一个公司的立足之本,啥都能丢,数据不能!
  • emorsl 我连MD基本语法都记不住,记住这个是万万不可能了。
  • 程志辉 作者 回复 emorsl 哈哈,MD常用的语法我也就记住了超链接,调用图片还有标题,不过一篇文章足够了
  • 幸运 现在是大数据时代,很多事都是靠数据支撑,有数据的时代更具有挑战。
  • 心灵博客 记是不可能记得的,我反正不记得,随用随查,所以我是菜鸡
  • 程志辉 作者 回复 心灵博客 我也是哇.......搜索引擎是个好东西,哈哈哈哈
  • 可乐猫 学过一阵子MySQL,但都忘了差不多了!
  • 程志辉 作者 回复 可乐猫 确实,长时间没用,只能靠Baidu寻回记忆.........
  • repostone 非技术的路过。
  • 肖虎威 厉害厉害~
  • 程志辉 作者 回复 肖虎威 我不会告诉你,老师抽查,我写错被罚200遍.......
Icefox Theme . 鄂ICP备16001608号-1