mysql 的使用
1,mysql 是一种开放源代码的关系类型数据库管理系统
2,在mysq 中我们通常把 行 表示:记录 列 表示:字段
3,mysql中数据是以表的形式存储在数据库中的
4,启动mysql
通过操作系统的界面设置开启mysql
也可通过在DOS窗口输入 net start mysql 指令启动mysql
通过输入 net stop mysql 指令关闭mysql
5,通过mysql 命令链接mysql 数据库
mysql -h服务器主机地址 -u用户名 -p密码
没有密码你直接回车就能链接mysql数据库
5,创建数据库 CREATE DATABASE 数据库名;
创建了 t141 的数据库
查看数据库列表 SHOW DATABASES;
6,选择数据库 USE 数据库名;
7,删除数据库 DROP DATABASES 数据库名;
注意;这条命令是不支持使用的,因为这条命令无论你是不是在使用mysql 是都可以删除的。也就是说这是一件很危险的事。
8,创建表 CREATE TABLE 表明(
表格中的内容
)
mysql 中的注释 单行注释: #内容 多行注释:/*内容*/
###在创建三个数据表,方便做主键和外键以及在四个表之间添加约束
(2) #年级表
CREATE TABLE grade ( `gradeID` INT PRIMARY KEY NOT NULL #年级编号 )
(3)#科目表
CREATE TABLE SUBJECT ( subjetid INT PRIMARY KEY NOT NULL AUTO_INCREMENT, #科目编号 subjectname VARCHAR(32), #科目名字 gradeid INT(4), #成绩编号 classhour INT )
(4)#成绩表
CREATE TABLE Result ( id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, studentno INT NOT NULL, subjectid INT NOT NULL, examdate DATETIME, studentresult INT )
我们在上面的代码中都设置了主键,那么想要把四个表的关系设置,就要设置外键。
一下代码设置不同表之间的外键,来表示表关系
#在student中创建grade表外键 ALTER TABLE student ADD CONSTRAINT fk_grade_student_gradeid FOREIGN KEY(gradeID) REFERENCES grade(gradeID) #在subject中创建grade外键
ALTER TABLE SUBJECT ADD CONSTRAINT FK_Grade_Subject_Gradeid FOREIGN KEY(gradeID) REFERENCES grade(gradeID) #在Result中创建subject的外键 ALTER TABLE result ADD CONSTRAINT FK_Subject_Result_subjectid FOREIGN KEY(subjectid) REFERENCES `subject`(subjectid) #在Result中创建student的外键 ALTER TABLE result ADD CONSTRAINT FK_Student_Result_studentno FOREIGN KEY(studentno) REFERENCES student(studentno)
注意:外键只能设置在外键表中,一个表中可以包含多个表(那么那一个表表示主表,那多个表表示外表)
表中添加数据:代码如下
#注意:student表小括号后面是表中各列的名字,可以没有顺序,但是必须是完整的,除了自增列。
INSERT INTO student(loginPwd,studentName,sex,gradeID,phone,address,bornDate,email,identityCard)
#values后面要想加多可数据,那么(数据1),(数据2)。。这样逗号分隔,而且里头内容与上面的student表后面小括号内容 一 一对应。 VALUES('123','娜娜','女',1,'13847524834','高雄','2017/7/11','905352007@qq.com','12345678'), ('321','小黄','男',1,'13847524567','澳大利亚','2017/7/11','905352007@qq.com','12345678'), ('123','娜娜','女',1,'13847524834','高雄','2017/7/11','905352007@qq.com','123456789900988');
9,修改表
(1)添加字段
ALTER TABLE grade ADD idDel INT NOT NULL # 不要忘了数据类型
(2)删除字段
ALTER TABLE grade DROP idDel
(3)修改字段内容
ALTER TABLE grade CHANGE remark2 remark VARCHAR(32) 注意: 在修改的时候,必须添加数据类型
(4)想要删除一个一个表中的约束,发现与其他的表有关系,那么需要以下代码解决:
先执行如下命令
步骤1: alter table 表名
drop foreign key 外键的名称
步骤2:点击鼠标,删除
10.检索数据库
(1)检索所有邮箱为null的学生
select * from student where email='null'
(2)统计表中有几条记录
select counct(studentresult)from result
还有常用的其他计算函数:sum()获取综合 max()最大值 min()最小值 avg()平均值
(3) 常用的字符串函数
upper()字符串大写 , substring(a,A,B)a的字符串中的截取位置从A到B检索
concat(str1,str2)拼接字符串 insert('这是MySQL数据库',3,5,'Oracle') 找到mysql位置,改成 oracle
(4)常用的时间函数
now() 获取默认的时间 curdate()获取当前日期,不获取时间
curtime()只获取系统时间 week()获取当前日期是该年中的第几周
datediff(now(),'1992-06-01')两个时间差,得到的是天数
adddate(NOW(),-3)两个时间加一起,得到的也是天
(5)常用的数学函数
ceil() 天花板 向上取整 floor() 向下取整 rand()随机数
语法: SELECT CEIL(2.0001)
11,order by 排序
语法:SELECT * FROM student ORDER BY sex,borndate DESC
student 表中检索性别sex 和 出生年月borndate 按降序排序
还有升序排序 关键字 asc
12,limit 分页
语法:SELECT * FROM student LIMIT 2,2
从第三个字段开始检索两个内容
注意:第一个数字检索的是从下标从0开始
CREATE TABLE grade #年级表( `gradeID` INT PRIMARY KEY NOT NULL )