
数据库系统是用来管理数据的,建立的数理逻辑和集合操作基础上的。具有高效、可靠、完整、自同步等特性,是业务系统进行数据控制的最佳选择。数据库系统一般提供高效的数据控制和数据检索功能,采用SQL语言来进行数据操作。
应用程序
作用:响应操作并显示结果、向数据库请求数据
要求:美观、操作简单方便。
一、数据库的基本概念:

数据表:
在关系型数据库中,数据表是一系列二维数据的集合,用来存储 数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行被称之为记录,是组织数据的单位,列被称之为字段,每一列表示一条记录的某一个属性,都有相应的描述信息,如数据类型、数据长度等。

数据类型:
数据类型决定了数据在计算机中的存储格式,代表不同的 信息类型。常用的数据类型有:整数数据类型、浮点数据类型、精确小数类型、 二进制数据类型、日期/时间数据类型、字符串数据类型等,表中的每一个字段必须指定某种数据类型,例:上图中的姓名字段为字符串类型。
二、MySQL数据库:
#创建MySQL用户cmyCREATE USER ‘cmy’@’%’ IDENTIFIED BY‘123’;#授予cmy用户全部权限GRANT ALL ON *.* TO ‘cmy’@’%’;#刷新权限 立即生效FLUSH PRIVILEGES;#查看表中的详细属性DESC student; DESCRIBE student;#查看数据库的定义SHOW CREATE DATABASE school;#查看数据表的定义SHOW CREATE TABLE student;
在 MySQL 中常见的数据类型如下:
1) 整数类型
2) 日期/时间类型
3) 字符串类型
4) 二进制类型
三、SQL常用语句:
--增--1) CREATE DATABASE school; #新建school数据库2) CREATE TABLE student( ); #新建student数据表3) CREATE TABLE studentCopy(SELECT stuId,stuName,stuAge,stuSex FROM student); #复制student数据表--删--1) DROP TABLE student; #删除表2) DROP TABLE IF EXISTS abc; #删除表如果存在abc表--改--1) ALTER TABLE `student` ADD CONSTRAINT UNIQUE `user`(`stuName`); #为student表的stuName列设置唯一约束2) ALTER TABLE `student` RENAME `student_new`; #为数据表重命名3) ALTER TABLE `student` ALTER `stuName` SET DEFAULT '张三'; #为name列添加默认约束4) ALTER TABLE `student` MODIFY `stuName` VARCHAR(50); #将stuName的长度进行更改5) ALTER TABLE `student` CHANGE `stuName` `stuNames` VARCHAR(50); #将stuName改成stuNames
--插入--1) INSERT INTO student VALUES( DEFAULT, ‘张三’ , 22 , ‘男’ , ‘2010-09-09’ ); #为表属性赋值2) INSERT INTO student (stuId, stuName , stuAge , stuSex) VALUES( DEFAULT , ‘张三’ , 22 , ‘男’ , ‘2010-09-09’ );3) INSERT INTO student VALUES( DEFAULT, ‘王五’,24 , ‘女’ , now( ) ), ( DEFAULT, ‘赵六’,26 , ‘男’ ,NULL );--修改--1) UPDATE student SET stuAge=23 [WHERE stuId=1]; #将主键stuId=1的列中的stuAge值改为232) UPDATE student SET stuAge=23,stuSex=’女’ WHERE stuId=2;3) UPDATE student SET stuAge=23 = stuAge + 1, WHERE stuId=3;4) UPDATE student SET stuBirthday= ADDDATE(stuBirthday, INTERVAL 2 DAY) WHERE EXISTS ( SELECT * FROM score WHERE course = ‘Java’ ); #将查询出来的学生生日加两天--删除--1) DELETE FROM student [WHERE stuId=3]; #删除stuId=3的值
1) SELECT * FROM student; #查询student表中的信息2) SELECT stuName,stuAge FROM student; #查询student表中姓名年龄的信息3) SELECT stuName AS 姓名FROM student; #带别名的查询4) SELECT * FROM student WHERE stuSex=‘男’; #查询student表中男生信息5) SELECT * FROM student WHERE stuSex!=‘男’; #查询student表中非男生(女生)的信息6) SELECT * FROM student WHERE stuBirthday IS NULL; #查询没有添加生日信息的数据7) SELECT *,’第一中学’ schoolName FROM student; #添加”第一中学”表头为schoolName的常量列8) SELECT * FROM student ORDER BY stuAge DESC LIMIT 3 #查看倒序排列的前三条数据9) SELECT * FROM student ORDER BY stuId LIMIT 2,2 #查看起始下标2的两条数据
1) SELECT COUNT(*) FROM student2) SELECT CONCAT(stuName, ‘同学’) FROM student
CREATE DATABASE YRtest;USE YRtest;CREATE TABLE student(sno INT(3) PRIMARY KEY AUTO_INCREMENT COMMENT '学号',sname VARCHAR(5) NOT NULL COMMENT '姓名',ssex CHAR(2) DEFAULT '男' NOT NULL COMMENT '性别',sbirthday DATETIME COMMENT '出生年月',class VARCHAR(5) COMMENT '班级编号')COMMENT '学生信息表';INSERT INTO student(sname,ssex,sbirthday,class) VALUE('李军','男','1976-02-20 00:00:00',95000);INSERT INTO student(sname,ssex,sbirthday,class) VALUE('陆军','男','1974-06-03 00:00:00',95031);INSERT INTO student(sname,ssex,sbirthday,class) VALUE('匡明','男','1975-10-02 00:00:00',95031);INSERT INTO student(sname,ssex,sbirthday,class) VALUE('王丽','女','1976-01-23 00:00:00',95033);INSERT INTO student(sname,ssex,sbirthday,class) VALUE('曾华','男','1977-09-01 00:00:00',95033);INSERT INTO student(sname,ssex,sbirthday,class) VALUE('王芳','女','1975-02-10 00:00:00',95031);CREATE TABLE teacher(tno INT(3) PRIMARY KEY AUTO_INCREMENT COMMENT '教师编号',tname VARCHAR(5) NOT NULL COMMENT '姓名',tsex CHAR(2) DEFAULT '男' NOT NULL COMMENT '性别',tbirthday DATETIME COMMENT '生日',prof VARCHAR(5) COMMENT '职称',depart VARCHAR(10) COMMENT '所在部门')COMMENT '教师信息表';INSERT INTO teacher(tname,tsex,tbirthday,prof,depart) VALUE('李诚','男','1958-12-02 00:00:00','副教授','计算机系');INSERT INTO teacher(tname,tsex,tbirthday,prof,depart) VALUE('王萍','女','1972-05-05 00:00:00','助教','计算机系');INSERT INTO teacher(tname,tsex,tbirthday,prof,depart) VALUE('刘冰','女','1972-08-14 00:00:00','助教','电子工程');INSERT INTO teacher(tname,tsex,tbirthday,prof,depart) VALUE('张旭','男','1969-03-12 00:00:00','讲师','电子工程');CREATE TABLE course(cno VARCHAR(10) PRIMARY KEY COMMENT '课程编号' ,cname VARCHAR(5) NOT NULL COMMENT '名称' ,tno INT(3) COMMENT '教师编号' ,CONSTRAINT FK_course_teacher FOREIGN KEY(`tno`) REFERENCES teacher(`tno`))COMMENT '课程信息表';INSERT INTO course(cno,cname,tno) VALUE('3-105','计算机导论','825');INSERT INTO course(cno,cname,tno) VALUE('3-245','操作系统','804');INSERT INTO course(cno,cname,tno) VALUE('6-166','数字电路','856');INSERT INTO course(cno,cname,tno) VALUE('9-888','高等数学','831');CREATE TABLE score(sno INT(3) COMMENT '学生编号',cno VARCHAR(10) COMMENT '课程编号',degree INT(3) NOT NULL COMMENT '成绩',CONSTRAINT FK_score_student FOREIGN KEY(`sno`) REFERENCES student(`sno`),CONSTRAINT FK_score_course FOREIGN KEY(`cno`) REFERENCES course(`cno`))COMMENT '学生成绩表';INSERT INTO score(sno,cno,degree) VALUE('103','3-245','86');INSERT INTO score(sno,cno,degree) VALUE('105','3-245','75');INSERT INTO score(sno,cno,degree) VALUE('109','3-245','68');


MySQL的基本知识与操作语句都在这里咯~
但是MySQL的重点知识——查询还没有跟大家讲清楚~
接下来回跟大家讲解内外连接与子查询表连接的查询方式~
谢谢关注!

文章转载自码农然,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




