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 )

posted on 2017-07-13 22:32  蒙古码农  阅读(166)  评论(0编辑  收藏  举报