11 1.1.2 MySQL的启动 选择“开始”一>“所有程序”一>MySQL”->“MySQL erver 5.1- 点击MySQLCommand Line Client'”运行如下命令行界面,输入密码(root)即 进入系统,如下图: ySQL Command Line Client 回× Connands end with or g. ver version:5.1.22-Fe-community MySQL Connunity Server (GPL e'helpi'orh for help. to clear the buffer MySQL暂不创建新用户,我们直接用root用户来进行基本操行。 ●MySQL中的基本命合: show databases/tables: 显示用户下面的所有数据库/表的名字。 createdatabase/table NAME: 剑津新数据/韦 dropdatabase/table NAME 删除某一具体数据库表。 usedatabase_name 登入某一具体数据库。 desc table_.name;显示表中的字段属性。 ● 通討Windows DOS登陆 在桌面选择“开始”>“运行”一>输入“cmd点击确认"进入D0s界 面; 而后使用命合“mysql-u用户名-p密码”,如:mysql-uroot-proot,注意: 该命命后不要用分号
11 11 1.1.2 MySQL的启动 选择“开始”—>“所有程序”—>“MySQL”—>“MySQLServer 5.1”—> 点击“MySQLCommand LineClient”运行如下命令行界面,输入密码(root)即 进入系统,如下图: MySQL暂不创建新用户,我们直接用root用户来进行基本操行。 show databases/ tables ; 显示用户下面的所有数据库/表的名字。 createdatabase/ table NAME ; 创建新数据/表。 dropdatabase/ tableNAME ; 删除某一具体数据库/表。 usedatabase_name ; 登入某一具体数据库。 desc table_name ; 显示表中的字段属性。 通过WindowsDOS登陆. 在桌面选择“开始”—>“运行”—>输入“cmd”点击“确认”进入 DOS界 面; 而后使用命令“mysql –u用户名 –p密码”,如:mysql -uroot –proot ,注意: 该命令后不要用分号。 MySQL中的基本命令:
回C:\Wm0S\ytem32八\cmd.exe-ysql-uroot-proot 限所着198s5 id is 12 ersion 5.122-re-community MysqL Comunity Server (GPL pe 'helpi'or'h'for help.Type 'c'to clear the buffer. 2通过SQL语句创建和操作表 2.1使用SQL语句创建表 DROP TABLE department; CREATE TABLE department dno char(6)PRIMARY KEY,#院系编号(主键) dname varchar(2 )NOTNULL,#院系名称 dean varchar(8),#皖系负责人 addr varchar(4o),#院系办公地址 phone varchar(40)#联系电话 DROP TABLE student; CREATE TABLE student sno char(8)PRIMARY KEY,#学生学号(主键) sname varchar((8)NOT NULL,#学生姓名 sex char(2),#学生性别 native varchar(2O),#籍贯 birthday date,#学生出生日期 dno char(6l,#学生所在院系编号(外键) classno char(4,#班级号 entime date,#学生入校时间
12 12 2 通过 SQL语句创建和操作表 2.1 使用 SQL语句创建表 DROP TABLE department; CREATE TABLE department ( dno char (6) PRIMARY KEY, #院系编号(主键) dname varchar(20)NOTNULL, #院系名称 dean varchar(8),#院系负责人 addr varchar(40), #院系办公地址 phone varchar(40)#联系电话 ) ; DROP TABLE student; CREATE TABLE student ( sno char(8)PRIMARY KEY, #学生学号(主键) sname varchar(8) NOT NULL, #学生姓名 sex char (2), #学生性别 native varchar(20), #籍贯 birthday date , #学生出生日期 dno char(6), #学生所在院系编号(外键) classno char(4), #班级号 entime date, #学生入校时间
homeAddr varchar(48),#学生家庭住址 phone varchar(11)#学生联系电话 (MySQL中的行注释为#) 2.2使用SQL语句修改表 ◇修改表中字段属性 ALTERTABLE student MODIFY phone varchar(50); ◇修改表名: ALTER TABLE student RENAMETO stu 2.3使用SQL语句添加、修改和删除表数据 ◇添加数据: INSERT INTO department dno do .addr.p one VALUES590000软件学院,张中华,长沙市8305682 INSERT INTO student ◇更新表中的数据: 例如,将李毅的性别改为女,如下: UPDATEstudent SETsex=-'女'wheresname='李毅 ◇删除表中的数据: 例如,删除student表中tno为20080001的学生信息 DELETEFROMstudent WHEREsno='20080001'; 2.4使用SQL语句查询表内容 ◇选出student表中的所有数据 SELECT*FROMstudent;
13 13 homeAddr varchar (48),#学生家庭住址 phone varchar (11) #学生联系电话 ) ; (MySQL中的行注释为#) 2.2 使用 SQL语句修改表 ◇ ALTERTABLE student MODIFY phone varchar(50); ◇ ALTER TABLE student RENAMETO stu; 2.3 使用 SQL语句添加、修改和删除表数据 ◇ INSERT INTO department (dno,dname,dean,addr,phone) VALUES('590000','软件学院','张中华','长沙市','8305682') ; INSERT INTO student (sno,sname,sex,birthday,dno,classno) VALUES('20080001','李毅','男','1985-1-2','590000','0801') ; ◇ 例如,将李毅的性别改为女,如下: UPDATEstudent SETsex='女'wheresname='李毅'; ◇ 例如,删除student表中tno为20080001的学生信息: DELETEFROMstudent WHEREsno='20080001'; 2.4 使用 SQL语句查询表内容 ◇ SELECT*FROMstudent; 修改表中字段属性: 修改表名: 添加数据: 更新表中的数据: 删除表中的数据: 选出 student表中的所有数据:
◇选出student表中的部分属性: SELECT sno,sname,sex,birthday FROM student; ◇选出student表中所有性别为男的学生的学号,姓名,性别和出生日期: SELECT sno,sname,sex,birthday FROM student WHERE 0 选出student表中1985年1月1日以后出生的学生: SELECT sno,sname,sex,birthday FROMstudent WHERE birthday >'1985/01/01'; 0 以下两个使用了模糊查询:%代替任意个字符,代表一个字符。 SELECT sno,sname FROM student WHERE sname LIKE% SELECT sno,sname FROM student WHERE sname LIKE'; ◇ 多个条件查询: SELECT sno,sname,sex,birthday FROMstudent WHERE(dno='590000')AND(birthday>'1985/01/01'); ◇选出籍贯为空的数据(u是不存在,不能用=来比较): SELECT FROM student WHERE native is null; ◇以下三句为排序,DESC为降序,ASC为升序: SELECT ex,birthday,dno FROM student ORDERBYdno,birthdayDESC #降序 SELECT sno,sname,sex,birthday FROM student ORDERBY birthdayASC: #升序 sno,sna e,sex,birthday,dno FROM student ORDERBY5,4DESC; #5,4对应select后面的顺序,这里即为dno,birthday
14 14 ◇ SELECT sno,sname,sex,birthday FROM student; ◇ SELECT sno,sname,sex,birthday FROM student WHERE sex='男'; ◇ 选出student表中1985年1月1日以后出生的学生: SELECT sno,sname,sex,birthday FROMstudent WHEREbirthday >'1985/01/01'; ◇ 以下两个使用了模糊查询:%代替任意个字符,_代表一个字符。 SELECT sno,sname FROM student WHERE sname LIKE '李%'; SELECT sno,sname FROM student WHERE sname LIKE '李_'; ◇ SELECTsno,sname,sex,birthday FROMstudent WHERE(dno='590000')AND(birthday>'1985/01/01'); ◇ SELECT * FROM student WHERE native is null; ◇ 以下三句为排序,DESC为降序,ASC为升序: SELECT sno,sname,sex,birthday,dno FROM student ORDERBYdno,birthdayDESC; #降序 SELECT sno,sname,sex,birthday FROM student ORDERBYbirthdayASC; #升序 SELECT sno,sname,sex,birthday,dno FROM student ORDERBY5,4DESC; #5,4对应select后面的顺序,这里即为dno,birthday。 选出 student表中的部分属性: 选出student表中所有性别为男的学生的学号,姓名,性别和出生日期: 多个条件查询: 选出籍贯为空的数据(null是不存在,不能用“=”来比较):
◇使用DISTINCT消除重复值: SELECT DISTINCT sex FROM student; 以下两句在Dracle/MySQL中等价: SELECTsnoAS学号,snameAS姓名,sexAS性别 FROMstudent; SELECT sno 学号,sname姓名,sex性别 FROMstudent; 0 得出各院男女生人数: SELECT dno学院,COUNT()学生人数FROM student GROUPBYsex 连接查询: SELECT sno,d.dno,dname FROM students,departmentd WHEREs.dno=d.dnc ◇嵌套查询 SELECT sno,sname,birthday FROMstudent WHEREdno=(SELECT dno FROMstudent WHEREsname=) 3通过图形化工具创建和操作表
15 15 ◇ SELECT DISTINCT sex FROM student; ◇ 以下两句在Oracle/MySQL中等价: SELECTsnoAS 学号,snameAS 姓名,sexAS 性别 FROMstudent; SELECTsno 学号,sname 姓名,sex 性别 FROMstudent; ◇ 得出各院男女生人数: SELECTdno 学院, COUNT(*) GROUPBYsex; ◇ 连接查询: SELECTsno,d.dno,dname FROM students,department d WHEREs.dno=d.dno; ◇ SELECTsno,sname,birthday FROMstudent WHEREdno = (SELECTdno FROMstudent WHEREsname= '刘寅'); 3 通过图形化工具创建和操作表 使用DISTINCT消除重复值: 学生人数 FROM 嵌套查询 student