MySQL 这个数据还是相当好用和稳定的. 虽然以前学过SQL-SERVER.但是语法好像真的忘记了差不多了.
这里就简单说说MySQL的一些常用用法的. 首先就是建库,赋予权限.建表,插入数据,更新数据.更新键值.建立外键.联合查询等等吧.
我会做一下基础的练习题,这样就算是来巩固一下知识吧.
给数据库赋予用户权限
grant all privileges on oldboy2.* to oldboy@'%' identified by '123456'; 用%表示所有网络都可以访问,一般用localhost
flush privileges; 马上更新
MySQL 创建数据表
语法
CREATE TABLE table_name (column_name column_type);
创建一个student表
create table student(
stu_id INT NOT NULL AUTO_INCREMENT,
name CHAR(32) NOT NULL,
age INT NOT NULL,
register_date DATE,
PRIMARY KEY ( stu_id )
);
MySQL 插入数据
语法
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
插入数据
mysql> insert into student (name,age,register_date) values ("alex li",22,"2016-03-4")
-> ;
MySQL 查询数据
语法
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
----------------------------------------------------------------------------------------------------------------------------------------------\
下面是练习题:
一、表关系
请创建如下表,并创建相关约束
建立一个数据,并设置编码为uft-8 .
create database oldboy2 character set utf8 collate utf8_bin;
建立一个含外键的表.
create table `score` (
`scoreid` int(4) NOT NULL auto_increment,
`student_id` int(4) NOT NULL,
`corse_id` int(4) NOT NULL,
`number` int not null,
PRIMARY KEY(`scoreid`),
key `fk_score_stukey` (`student_id`),
key `fk_score_corkey` (`corse_id`),
constraint `fk_score_stukey` foreign key(`student_id`) references `student` (`sid`),
constraint `fk_score_corkey` foreign key(`corse_id`) references `course` (`cid`)
);
联合查询.查询“生物”课程比“物理”课程成绩高的所有学生的学号;
select A.student_id,sw,ty from
(select student_id,number as sw from score right join course on score.corse_id=course.cid where course.cname='生物') as A
left join
(select student_id,number as ty from score left join course on score.corse_id=course.cid where course.cname='体育') as B
on A.student_id=B.student_id where sw > if(isnull(ty),0,ty);
if(isnull(ty),0,ty) 这个sql里的一个语法,意思如果ty为空则输出0否则输出ty.