MySQL学习之数据库基本操作篇

MySQL学习之数据库基本操作篇
MySQL学习之数据库基本操作篇

实验前准备:

1、安装mysql数据库,使用“添加/删除程序”组件,安装好mysql相关的组件,建议安

装mysql下面的全部子组件。

2、启动mysql数据库服务器程序:

service mysqld start

3、建议管理员口令,并使用它登录

Mysqladmin -u root password 密码

Mysql –u root -p

建立新用户(或者按照教材内容)

格式:grant all privileges on 数据库.* to 用户名@登录主机identified by "密码";

例如:增加一个用户test密码为1234,让他只可以在localhost上登录,并可以对数据库Shopex 进行所有的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),在MYSQL 的提示符下:mysql> 录入grant all privileges on shopex.* to test@localhost identified by "1234"; 通过以上操作,你建立一个新的数据库shopex,并增加了一个名为test对shopex数据库有所有操作权限。

实验一:创建并使用一个数据库。

实验背景:

把MySQL安装在Ubuntu linux上之后,我们的老师和学生们仍然不能直接使用MySQL 登记或查看学生的信息。MySQL是关系数据库的一种,关系数据库的数据在逻辑上是以二维表的形式组织起来的。所以我们要先建立数据库和表。

实验目的:

掌握在MySQL中创建数据库,创建表。设置主键,设置字段默认值以及约束的方法。实验分析:

1)使用MySQL的命令创建一个数据库。

2)使用这个新建的数据库。

3)在这个数据库中创建表并设置表中字段的属性。

注意:MySQL的命令通常由SQL语句组成,命令的结尾以分号结束。(有些例外不需要加分号,例如退出的命令exit)

说明:使用MySQL的连接命令连接到MySQL,即进入了MySQL的客户端。

客户端提示符:

●mysql>表示准备好接受一条新命令。

●->为等待多行命令的下一行。

●’>为等待下一行,收集以单引号开始的字符串。

●”>为等待下一行,收集以双引号开始的字符串。

●如果想取消之前输入命令的执行,打入\c取消命令的执行。

注:此手册中用到的SQL语句语法可参考《SQL学习手册》

实验步骤:

步骤一:新建数据库和表。

1)打开终端,使用root用户连接上MySQL。使用命令:mysql –u root –p

2)新建一个数据库,名为student_management。使用命令:create database

student_management;

3)查看现在MySQL中存在的数据库。使用命令:show databases;

4)使用新创建的student_management数据库。使用命令:use student_management;

5)查看student_management数据库中的表。使用命令:show tables;

6)新建一个记录学生信息的表(student_info)。包含的字段有:学号(stu_id)、姓名

(name)、性别(sex)、班级(class)。使用的命令:create table student_info(stu_id int,name varchar(8),sex varchar(4),class varchar(16));

7)查看student_info这个表的结构。使用命令:desc student_info;

步骤二:设置表的主键、默认值及约束。

我们之前创建的student_info表中,字段的属性并不完整。我们只是设定了字段的数据类型,字段还可以有更多的属性。比如:字段是否可以为空,是否唯一,是否为主键,默认值。

1)在student_management数据库中新建教师信息表(teacher_info)。包含的字段有:教

师号(tea_id)、姓名(name)、性别(sex)、入职时间(join_time)、民族(nationality)。

教师号为主键,具有非空和唯一的属性。性别只有男或女两种选择,所以使用check 约束。民族默认为汉族。使用命令:create table teacher_info(tea_id int primary key,name varchar(8),sex varchar(4) check(sex=’男’ or sex=’女’),join_time date,nationality varchar(8) default ’汉族’)

2)查看教师信息表的结构。使用命令:desc tea_info;

扩展练习:

1)在数据库student_management中新建课程信息表(course_info)

要求包含以下字段:

课程编号(course_id)、课程名称(course_name)

其中课程编号为主键。

参考语句:

create table course_info(course_id int,course_name varchar(20),primary key course_id);

2)在数据库student_management中新建学生成绩表(student_score)

要求包含以下字段:

学号(stu_id)、课程编号(course_id)、成绩(score)

其中主键为学号和课程编号两个字段。

参考语句:

create table student_score(stu_id int,course_id int,score float,primary key(stu_id,couse_id)); 实验二:对数据库的数据操作

实验背景:

在MySQL中创建好了数据库及表。软件学院的辅导员就可以往学生信息表中插入本班学生的信息。辅导员在需要的时候也可以修改或删除学生信息表中的数据。

实验目的:

掌握向数据库中插入记录、更新记录、删除记录的方法。

实验步骤:

步骤一:向学生信息表(student_info)中插入学生的信息。

1)打开终端,使用assistant用户连接上数据库,并使用student_management数据库。

注:assistant用户为《MySQL学习手册之linux下安装配置篇》中创建的用户,是辅导员使用的用户。

2)向学生信息表中插入数据。使用命令:insert into student_info values(20080201,’

张帅’,’男’,’计算机软件’);

3)重复上一步操作,插入一部分学生信息的数据。

步骤二:修改学生信息表(student_info)中某学生的信息。

因为王青同学中途更换了专业,由计算机网络改为了计算机软件。在我们的数据库中也需要更改王青同学的信息。

使用命令:update student_info set class=’计算机软件’ where name=’王青’;

步骤三:删除某学生的信息。

张玲同学因为种种原因退学了,在我们的数据库中需要删除张玲同学的信息。

使用命令:delete from student_info where name=’张玲’;

扩展练习:

向实验一的扩展练习中所创建的两个表course_info和student_score内插入数据。

注意:插入数据的格式可参考如下。数据可以自己定,但是student_score表中的stu_id 和course_id两个字段中的数据必须要和student_info表和course_info表中的数据对应。

实验三:查询数据:

实验背景:

学生的个人信息和成绩已经登记在数据库中了。现在就可以使用学生(student)用户连接到MySQL查询学生的个人信息和成绩了。

实验目的:

掌握:单表查询、分组查询、联合查询的方法。

实验分析:

1)单表查询。仅在一个表中查询,将查询的数据按某种方式排序。

2)分组查询。将数据分组查询。

3)联合查询。将相关的几个表通过某些关系连接起来,查询我们需要的数据。

实验步骤:

步骤一:单表查询。

1)在终端中使用student用户连接到数据库。使用命令:mysql –u student

注:student用户为《MySQL学习之linux下安装配置篇》中创建的用户,是学生使用的用户。

2)切换到student_management数据库。使用命令:use student_management;

3)查询所有学生的个人信息,并按照学号排序。使用命令:select * from student_info

order by stu_id;

4)查询李飞同学的学号和所在的班级。使用命令:select stu_id,class from

student_info where name=’李飞’;

5)查询学生信息表中的记录数。使用命令:select count(*) from student_info;

步骤二:分组查询。

查询学生信息表中各班男女学生的人数。使用命令:select class,sex,count(*) from student_info group by class,sex;

步骤三:联合查询。

1)查询指定班级,课程的平均分。

将学生信息表,课程信息表和成绩表联合。查询计算机软件班的大学英语这门课的平均成绩。使用avg函数计算平均分。

使用命令:select avg(c.score) as ‘平均分’ from student_info a,course_info b,student_score c where a.stu_id=c.stu_id and b.course_id=c.course_id and b.course_name=’大学英语’ and a.class=’计算机软件’;

as的作用是给字段起别名,显示的时候含义更明确。

2)查询各门课程的平均分。

把课程信息表和成绩表通过课程编号(course_id)联合,按课程编号和课程名称分组,并使用avg函数计算出来平均分。使用命令:select a.course_name,avg(score) from course_info a,student_score b where a.course_id=b.course_id group by

a.course_id,a.course_name;

3)查询大学英语的最高分和最低分。

将课程信息表和成绩表通过课程编号联合,查询出大学英语的最高分和最低分。

使用命令:select max(score) as ‘最高分’,min(score) as ‘最低分’ from course_info a,student_score c where a.course_id=c.course_id and

a.course_name=’大学英语’;

扩展练习:

1)查询是否有名叫王青的女生。

参考命令:select * from student_info where name=’王青’ and sex=’女’;

2)查询男生的总数。

参考命令:select count(*) as ‘男生总数’from student_info where sex=’

男’;

3)查询张帅的高等数学成绩。

参考命令:select name,score from student_info a,student_score

b,course_info c where a.stu_id=b.stu_id and b.course_id=c.course_id and

https://www.360docs.net/doc/d9983093.html,=’张帅’ and c.course_name=’高等数学’;

实验四:修改表的结构。

实验背景:

在我们使用数据库的过程中,往往会因为某些原因去修改数据库中表的结构。比如:学生信息表中记录的信息太少,我们希望增加一个记录学生手机号码的字段(tel_num)等等。我们可以使用一些修改表结构的SQL语句来实现修改。

实验目的:

掌握:使用SQL语句在表中增加字段、修改字段名称、修改字段属性和删除字段的方法。

实验步骤:

步骤一:添加字段

1)使用root用户连接MySQL。

2)使用student_management数据库。

3)在学生信息表(student_info)中添加一个字段,记录学生的电话号码(tel_num)。

使用命令:alter table student_info add tel_num int(11);

4)查看效果。使用命令desc student_info;

步骤二:修改字段名称

我们发现在学生信息表中,学生的姓名(name)这个字段容易同别的表中的字段混淆。为了表示的更加明确我们希望将name改为stu_name。

1)使用命令:alter table student_info change name stu_name varchar(8);

2)查看效果。使用命令:desc student_info;

步骤三:修改字段属性

在学生信息表中,学号stu_id这个字段应该是这个表的主键。但是我们在建表时并没有把这个字段设为主键。现在我们就可以修改stu_id的属性,让他成为主键。

1)使用命令:alter table student_info modify stu_id int primary key;

2)查看效果。使用命令:desc student_info;

步骤四:删除字段

1)某些时候我们希望删除某一字段,比如现在我们想在学生信息表中将电话这个字段

删除。可以使用命令:alter table student_info drop column tel_num;

2)查看效果。使用命令:desc student_info;

注意:删除字段,此字段所存储的数据会丢失。所以删除字段时一定要慎用,以免造成重要数据丢失的损失。

扩展练习

1)向课程信息表中添加一个任课老师姓名的字段name。

参考命令:alter table course_info add name varchar(6);

2)将添加的name字段改名成tea_name。

参考命令:alter table course_info change name tea_name varchar(6);

3)将tea_name字段由varchar(6)改为varchar(8)并且不能为空。

参考命令:alter table course_info modify tea_name varchar(8) not null;

4)删除tea_name这个字段。

参考命令:alter table course_info drop column tea_name;

实验五:数据库数据的导入、导出。

实验背景:

为了数据的安全,在日常维护数据库的维护中数据库管理员通常会对数据库中的数据进行备份。

实验目的:

掌握MySQL中数据导入、导出的方法。

实验分析:

有两种方法可以实现数据的备份。

1)直接拷贝数据文件。

2)使用命令mysqldump将数据导出为SQL脚本,使用MySQL的命令source 将SQL脚

本导入数据库。

实验步骤:

步骤一:直接拷贝数据文件方式实现导入、导出。

注意:mysql默认的数据文件存放路径为/var/lib/mysql,每个数据库是以数据库名称命名的文件夹。

1)在ubuntu的根目录下新建一个文件夹mysql-backup。用来存放MySQL的备份文件。

使用命令:sudo mkdir /mysql-backup

2)将/var/lib/mysql目录中的student_management文件夹复制到/mysql-backup文件夹

中。使用命令:sudo cp -r /var/lib/mysql/student_management /mysql-backup

3)确认数据文件已经复制到/mysql-backup文件夹中。使用命令:ls /mysql-backup

4)现在假设数据库出问题了,我们删除MySQL数据文件夹下的student_management

文件夹。使用命令:sudo rm -r /var/lib/mysql/student_management

5)使用root用户连接MySQL,并查看数据库。

使用命令:mysql –u root –p和show databases;

6)退出MySQL,将备份的数据文件重新拷贝回MySQL的数据文件存放位置。使用命

令:sudo cp -r /mysql-backup/student_management /var/lib/mysql

7)更改拷贝回来的数据文件所有者和所在组为mysql。使用命令:sudo chown -hR

mysql:mysql /var/lib/mysql/student_management;(为什么要更改数据文件所有者和所在组?请阅读附录一:数据文件需要更改所有者的原因。)

8)再次使用root用户连接MySQL,查看数据库。使用命令:mysql –u root –p和show

databases;

步骤二:使用命令导入、导出数据。

1)使用mysqldump命令将数据库student_management中的数据导出为SQL的脚本文

件。在终端中使用命令:mysqldump –u root –p --opt student_management > mysql.20090305(注意在此命令中“>”后可以为脚本文件所在的路径,如果不写路径直接写文件名则为在当前目录下创建文件,文件存放的路径需要linux系统当前用户有可写权限。mysqldump命令请参考附录二:mysqldump命令详解)

建议:备份出的脚本文件最好由mysql和备份的日期组成,这样方便日后在恢复的时候找到需要的数据。不会因为备份的文件太多而产生混乱。

2)查看是否生成这个文件。在上一步命令中指定的脚本文件生成目录中执行ls。(如

果没有指定生成文件的路径,则为在当前目录下生成脚本文件。)

3)假设数据库出现破坏。删除student_management数据库的数据文件。使用命令:

sudo rm –r /var/lib/mysql/student_management

4)使用root用户连接数据库。在终端中使用命令mysql –u root –p

5)使用SQL语句创建我们需要恢复的数据库student_management(也可以使用其他名

字)。使用命令:create database student_management;

6)使用刚才创建的数据库。使用命令:use student_management;

7)导入备份的脚本文件。使用命令:source /home/qingcha/mysql.20090305

注意:在此/home/qingcha是备份文件所在目录。此目录因系统不同而不同。

8)查看是否恢复数据。使用命令:show tables;和select * from student_info;

实验六:删除数据库和表。

实验背景:

目前我们使用的这个学生档案数据库是一个非常简单的数据库。之后我们会重新建一个学生档案管理数据库。现在我们就把目前这个中的表和数据库删除。

实验目的:

掌握MySQL中删除表和数据库的方法。

实验步骤:

步骤一:在MySQL中删除表。

1)在终端使用root用户登陆MySQL数据库。使用student_management数据库。在终

端中使用命令:mysql –u root –p、在MySQL命令行中使用命令:use student_management;

2)查看目前存在的表。使用命令:show tables;

3)删除course_info表。使用命令:drop table course_info;

4)查看执行删除命令后数据中存在的表。使用命令:show tables;

步骤二:删除MySQL中的数据库。

1)查看MySQL系统中存在的数据库。使用命令:show databases;

2)删除student_management数据库。使用命令:drop database

student_management;

3)查看执行删除数据库命令后,MySQL系统中存在的数据库。使用命令:show

databases;

附录一:数据文件需要更改所有者的原因。

linux是多用户操作系统,所有的文件都有所有者和所属用户组以及文件的读取权限这些属性。这些属性共同决定了一个文件哪些用户可以读取,那些用户可以更改等等。

在备份出来之前,这些数据文件的所有者和所在组都为mysql。

而当我们备份出来之后,这些文件的所有者和所在组改成了root,并且这些文件的读取属性为640。即mysql用户没有权限读取这些文件。

如果我们不更改文件的属性,直接复制到MySQL的数据文件目录。会出现下图所示的错误。

当然除了chown这种方法,我们还可以使用chmod命令更改文件可以被mysql用户读写。但是出于安全方面的考虑,避免linux系统中其他用户误使用其他的一些文本编辑器vim 或emacs等更改数据文件的内容。我们建议使用实验中chown这种方式。

附录二:mysqldump命令详解。

命令格式:

mysqldump [OPTIONS] database [table] > target_file

命令作用:

将数据库中的数据导出为SQL脚本文件。如果指定table则仅导出表中的数据。

参数详解:

--add-locks

在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。

--add-drop-table

在每个create语句之前增加一个drop table。

-c, --complete-insert

使用完整的insert语句(用列名字)。

-h, --host=..

从命名的主机上的MySQL服务器导出数据。缺省主机是localhost

-u user_name, --user=user_name

与服务器连接时,MySQL使用的用户名。

-p ,--password[password]

Mysql使用用户名的密码

-d, --no-data

不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的!

--opt(常用选项)

同--quick --add-drop-table --add-locks --extended-insert --lock-tables。

应该给你为读入一个MySQL服务器的尽可能最快的导出。

-q, --quick

不缓冲查询,直接导出至stdout;

其他更多选项参见:

--help

显示一条帮助消息并且退出。

数据库基础操作语句

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar 类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符

MYSQL数据库基本操作命令

MYSQL数据库基本操作命令 用户名和密码:123456 创建一个名称为mydb1的数据库。 create database mydb1; 查看所有数据库 show databases; 创建一个使用utf-8字符集的mydb2数据库。 create database mydb2 character set utf8; 创建一个使用utf-8字符集,并带校对规则的mydb3数据库。 create database mydb3 character set utf8 collate utf8_general_ci; 显示库的创建信息 show create database mydb3; 删除前面创建的mydb1数据库 drop database mydb1; 查看服务器中的数据库,并把其中某一个库的字符集修改为gb2312; alter database mydb2 character set gb2312; show create database mydb2; 备份库 1、准备库的数据 create database mydb1; use mydb1; create table test ( id int ); insert into test(id) values(1); select * from test; 2、删除库:drop database mydb1; 3、 4.1 创建库:create database mydb1; 4.2 \. test.sql (通过执行脚本文件实现) 5、

创建一个员工表 use mydb1; 进入库 create table employee ( id int, name varchar(20), gender varchar(4), birthday date, entry_date date, job varchar(40), salary double, resume text )character set utf8 collate utf8_general_ci; 查看库中所有表 show tables; 查看表的创建细节 show create table employee; 查看表的结构 desc employee; 在上面员工表的基本上增加一个image列。 alter table employee add image blob; 修改job列,使其长度为60。 alter table employee modify job varchar(60); 删除sex列。 alter table employee drop gender; 表名改为user。 rename table employee to user; 修改表的字符集 alter table user character set gb2312; show create table user; 列名name修改为username alter table user change column name username varchar(20); 使用insert语句向表中插入一个员工的信息。 insert into employee(id,username,birthday,entry_date,job,salary,resume)

Mysql基本操作

1.Mysql基本操作 1.1修改管理员的密码 1)Mysql刚安装好后无密码,使用”mysqladmin–uroot password 密码”修改管理员密 码 2)以管理员身份登录数据库,使用”mysql–u root” 3)原来有密码,现在要修改,使用”mysqladmin–uroot–p旧密码 password 新密码” 1.2用户的创建、删除、授权与撤权 Mysql安装好后,默认有两个数据库(mysql和test),而且除了root用户外,其他用户只能访问test数据库。 Mysql中设置了5个授权表(user/db/host/tables_priv/columnts_priv)。 1)创建新用户,方法如下: A.mysql–u root –p #以管理员身份登录 B.insert into https://www.360docs.net/doc/d9983093.html,er(host,user,password) values(‘%’,’guest’,password(‘guest’));#创建一个用户名为guest的用 户 C.flush privileges;#重载授权表 2)删除用户,方法如下: A.mysql–u root –p #以管理员身份登录 B.delete from https://www.360docs.net/doc/d9983093.html,er where user=’guest’; C.flush privileges; 3)更改用户密码,方法如下: A.mysql–u root –p #以管理员身份登录 B.update https://www.360docs.net/doc/d9983093.html,er set password=password(‘123’) where user=’guest’; C.flush privileges; 4)用户授权,方法如下: 格式:GRANT 权限列表[(字段列表)] ON 数据库名称.表名 TO 用户名@域名或IP地址[IDENTIFIED BY ‘密码值’] [WITH GRANT OPTION]; 常用权限如下: 全局管理权限: FILE: 在MySQL服务器上读写文件。 PROCESS: 显示或杀死属于其它用户的服务线程。 RELOAD: 重载访问控制表,刷新日志等。 SHUTDOWN: 关闭MySQL服务。 数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。 Create: 建立新的数据库或数据表。

MYSQL数据库基本操作详细教程

MYSQL数据库 学习目标: ●掌握MYSQL基本知识 ●学习数据库管理和操作 ●掌握数据库设计方法 ●熟练运用SQL编程语言 基本概念 MYSQL数据库是关系型数据库。 关系型:使用一个关系,来表示实体信息和实体之间的联系。关系:就是二维表,有行有列的表格。 这两张表通过班级名称关联起来。 关系型数据库:就是由二维表及其之间的联系组成的数据组织。 同一个表中数据结构完全一致。 数据是由记录组成 记录是由字段组成。 SQL:结构化查询语言 专门用于处理关系型数据库编程语言。 PHP也是编程语言 变量,流程控制,函数

数据库服务器的结构 DBS = DBMS + DB 数据库系统= 数据库管理系统+ 数据库(数据) 命令行客户端

数据在服务器上是如何存储的? 操作服务器 通过服务管理来操作服务器 开始->运行-> 3306是MYSQL服务程序的默认端口号 可以用netstat –an命令查看服务是否启动

命令行命令控制服务器的启动和关闭 Net start mysql Net stop mysql 错误原因:没有权限 解决办法:用管理员方式启动命令行窗口 C/S, client / server客户端/服务器方式访问数据库命令行客户端工具

流程: 1.连接和认证,提供4个参数,分别是主机地址,端口号,用户名,密码 2.向MYSQL数据库服务器发送SQL 3.MYSQL服务器接收并执行SQL,并且把结果返回给客户端 4.客户端对结果进行显示 5.断开服务器连接。Exit, quit, \q 2,3,4这几步可以循环执行 知识: 非关系型数据库,NOSQL,not only sql 不仅仅是SQL 代表:redis, mongodb 数据存储有点象数组,key/value SQL语言 存储数据: 首先建立数据库 之后建立数据表(字段定义) 操作数据 数据有哪些操作 CURD CREATE UPDATE READ DELETE(DROP)

MySQL基础 学习 超级详细

一、MySQL概述 1、什么是数据库? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2、什么是 MySQL、Oracle、SQLite、Access、MS SQL Server等? 答:他们均是一个软件,都有两个主要的功能: o a. 将数据保存到文件或内存 o b. 接收特定的命令,然后对文件进行 相应的操作 3、什么是SQL ? 答:MySQL等软件可以接受命令,并做出相应的操作,由于命令中可以包 含删除文件、获取文件内容等众多操作,对于编写的命令就是是SQL语句。 二、MySQL安装 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 想要使用MySQL来存储并操作数据,则需要做几件事情: a. 安装MySQL服务端 b. 安装MySQL客户端 b. 【客户端】连接【服务端】 c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相 应操作(增删改查等) 下载 https://www.360docs.net/doc/d9983093.html,/downloads/mysql/

安装 windows: https://www.360docs.net/doc/d9983093.html,/article/f3ad7d0ffc061a09c3345bf0.html linux: yum install mysql-server mac: 一直点下一步 客户端连接 连接: 1、mysql管理人默认为root,没有设置密码则直接登录 mysql -h host -u root -p 不用输入密码按回车自动进入 2、如果想设置mysql密码 mysqladmin -u root password 123456 3、如果你的root现在有密码了(123456),那么修改密码为abcdef的命令是: mysqladmin -u root -p password abcdef 退出: QUIT 或者 Control+D 三、数据库基础 分为两大部分: 1、数据库和表的创建; 2、数据库和表内容的操作 数据库操作-思路图

SQL数据库的基本操作

命令行 1、显示当前数据库服务器中的数据库列表:mysql> SHOW DATABASES; 2、建立数据库:mysql> CREATE DATABASE 库名; 3、建立数据表:mysql> USE 库名;mysql> CREATE TABLE 表名(字段名VARCHAR(20), 字段名CHAR(1)); 4、删除数据库:mysql> DROP DATABASE 库名; 5、删除数据表:mysql> DROP TABLE 表名; 6、将表中记录清空:mysql> DELETE FROM 表名; 7、往表中插入记录:mysql> INSERT INTO 表名VALUES ("hyq","M"); 8、更新表中数据:mysql-> UPDATE 表名SET 字段名1='a',字段名2='b' WHERE 字段名3='c'; 9、用文本方式将数据装入数据表中:mysql> load data local infile "d:/mysql.txt" into table 表名; 10、导入.sql文件命令:mysql> USE 数据库名;mysql> source d:/mysql.sql; 11、命令行修改root密码:mysql> update https://www.360docs.net/doc/d9983093.html,er set password=password('新密码') where user='root';mysql> flush privileges; 12.修改密码的三种方法:mysql>update user set password=password('') where user='joy_pen';mysql>flush privileges;mysql>set password for 'joy_oen'=password('');mysql>grant usage on *.* to 'joy_pen' identified by ''; 1、创建数据库 命令:create database <数据库名> 例如:建立一个名为xhkdb 的数据库mysql> create database xhkdb; 2、显示所有的数据库 命令:show databases (注意:最后有个s)mysql> show databases; 3、删除数据库 命令:drop database <数据库名> 例如:删除名为xhkdb的数据库mysql> drop database xhkdb; 4、连接数据库 命令:use <数据库名> 例如:如果xhkdb数据库存在,尝试存取它:mysql> use xhkdb; 屏幕提示:Database changed 5、当前选择(连接)的数据库mysql> select database(); 6、当前数据库包含的表信息:mysql> show tables; (注意:最后有个s) 三、表操作,操作之前应连接某个数据库 1、建表 命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]); mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) not null default ''0'', > degree double(16,2)); 2、获取表结构 命令:desc 表名,或者show columns from 表名 mysql>DESCRIBE MyClass mysql> desc MyClass;

Mysql数据库的一些基本操作

Mysql数据库的一些基本操作 一、MySQL服务器的启动与关闭 1、启动MySQL服务器 开始-> 运行输入“cmd”,然后在命令提示符下输入“net start MySQL”指令。 2、连接MySQL服务器 输入指令:MySQL -uroot -h127.0.0.1 -p111(-h127.0.0.1看个人情况 输不输) 注:用户名为“root”,MySQL数据库服务器地址为“127.0.0.1”,密码为“111”,三者之间必须有空格。 3、关闭MySQL服务器 开始-> 运行输入“cmd”,然后在命令提示符下输入“net stop MySQL”指令。 二、操作MySQL数据库 1、创建数据库 create database 数据库名; 2、查看数据库 show databases; 3、选择指定数据库 use 数据库名; 4、删除数据库 drop database 数据库名; 注:自动删除MySQL安装目录中的“C:/AppServ/MySQL/data”文件夹。 三、操作MySQL数据表 1、创建表 create table 表名(column_name column_type not null,...)

创建数据表后,“C:\AppServ\MySQL\data\数据库名\”中自动创建对应表文件(“表名.frm”,“表名.MYD”,“表名.MYI”) 2、查看数据库中的表 show tables; 3、查看数据库中所有的表 show tables;(前提是使用use database 数据库;) 4、查看数据表结构 describe 表名; 5、修改数据表结构 alter table 表名 add [column] create_definition [first | after column_name] //添加新字段 add primary key (index_col_name,...)//添加主码名称 alter [column] col_name {set default literal |rop default}/ /修改字段名称 change [column] old_col_name create_definition//修改字段名及类型 modify [column] create_definition//修改字段类型 drop [column] col_name//删除字段 drop primary key//删除主码 rename [as] new_tablename//更改表名 eg:alter table Admin_Info drop A_Pwd, rename as Admin_Info2; 6、删除指定数据表 drop table 表名; 四、操作MySQL数据 1、添加表数据 语法1:insert into 表名values(值1,值2,...)(自增长的列应写null)语法2:insert into 表名(字段1,字段2,...)values (值1,值2,...)语法3:insert into 表名set 字段1=值1,字段2=值2,... 2、更新表数据 update 表名set 字段1=值1 where 查询条件 若无查询条件,表中所有数据行都会被修改。 3、删除表数据 delete from 表名where 查询条件

mysql启动及常用命令

数据库 一、增,删,改,查 数据库的编程: 1.数据库编程概述 2.c常用的数据库编程方法 ①c中使用专门的库函数,在函数调用中使用SQL语句注意:linux 常用的数据库:MySqL 是开源的免费的二.mysql的使用 1.手动 2.编程 启动/etc/rc.d/init.d/mysqld stat 查看:/etc/rc.d/init.d/mysqld status 进入mysql mysql quit 退出

常用的命令: 资料:MYSQL常用命令 1.desc:查看表结构 2.show dababase();查看所在数据库的位置: 3.显示库中的数据表: ◆use mysql;打开库 ◆show tables; 4.显示数据表的结构:describe 表名; 5.建库:create databases 库名; 6.删除库:drop database 库名; 7.删除表:drop table 表名; 8.将表中的记录清空:delete from 表名; 9.显示表中的记录:select *from 表名; 1.导出整个数据库 mysqldump -u 用户名-p --default-character-set=latin1 数据库名> 导出的文件名(数据库默认编码是latin1) mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表 mysqldump -u 用户名-p 数据库名表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql 3.导出一个数据库结构 mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据–add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库 A:常用source 命令 进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source wcnc_db.sql B:使用mysqldump命令 mysqldump -u username -p dbname < filename.sql C:使用mysql命令 mysql -u username -p -D dbname < filename.sql 一、启动与退出 1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql> 2、退出MySQL:quit或exit 二、库操作 1、、创建数据库

DOS下操作数据库基本语法(简明扼要)

注:1Mysqldump是mysql数据库的自带备份函数。借助此命令可使备份变得简单。 2斜体部分是可以重命名的部分。 1.mysqldump的几种常用方法: (1)导出整个数据库(包括数据库中的数据) mysqldump -u username -p dbname > dbname.sql (2)导出数据库结构(不含数据) mysqldump -u username -p -d dbname > dbname.sql (3)导出数据库中的某张数据表(包含数据) mysqldump -u username -p dbname tablename > tablename.sql (4)导出数据库中的某张数据表的表结构(不含数据) mysqldump -u username -p -d dbname tablename > t ablename.sql 2.mysqldump常用实例: mysqldump常用于数据库的备份与还原,在备份的过程中我们可以根据自己的实际情况添加以上任何参数,假设有数据库test_db,执行以下命令,即可完成对整个数据库的备份: mysqldump -u root -p test_db > test_db.sql 如要对数据进行还原,可执行如下命令: mysql -u username -p test_db < test_db.sql 还原数据库操作还可以使用以下方法: mysql> sourcetest_db.sql dos命令行下连接和操作MySQL数据库 一、连接MYSQL。 格式: mysql -h主机地址 -u用户名-p用户密码 1、例1:连接到本机上的MYSQL。 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql> 2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户 名为root,密码为abcd123。则键入以下命令: mysql -h110.110.110.110 -uroot -pabcd123 (注:u与root可以不用加空格,其它也一样)

常用MySQL语句大全

MySQL服务的配置和使用 修改MySQL管理员的口令:mysqladmin –u root password 密码字符串 如:mysqldmin –u root password 111111 连接MySQL服务器,使用命令:mysql [-h 主机名或IP地址] [-u 用户名] [-p] 如:mysql –u root –p 如已有密码需修改root密码用命令: mysqladmin –u root –p password 新密码字符串 如:mysqladmin –u root –p password 111111 创建数据库格式为:CREA TE DATABASE 数据库名称; 如:mysql>create database abc; 默认创建数据库保存在/var/lib/mysql中 查看数据库是 mysql>show abc; 选择数据库是 USE 数据库名称; 如:mysql>use abc; 删除数据库是 DROP DA TABASE 数据库名称;如:mysql>drop database abc; 数据库的创建和删除 创建表是CREATE TABLE 表名称(字段1,字段2,…[表级约束]) [TYPE=表类型]; 其中字段(1,2 )格式为:字段名字段类型[字段约束] 如创建一个表student,如下: mysql>create table student ( sno varchar(7) not null, 字段不允许为空 sname varchar (20 )not null, ssex char (1) default …t?, sbirthday date, sdepa char (20), primary key (sno) 表的主键 ); 可用describe命令查看表的结构。 默认表的类型为MYISAM,并在/var/lib/mysql/abc 目录下建立student.frm(表定义文件),student.MDY(数据文件),stedent.MYI(索引文件)。 复制表CREATE TABLE 新表名称LIKE 原表名称; 如:mysql>create table xtable like student; 删除表DROP TABLE 表名称1[表名称2…]; 如:mysql> drop table xtale; 修改表ALTER TABLE 表名称更改动作1[动作2]; 动作有ADD(增加) DROP(删除)CHANGE、MODIFY(更改字段名和类型)RENAME 增加字段:mysql>alter table student add saddress varchar(25); 更改字段名和字段类型:mysql>alter table student change saddress sremark test; 即使不更改字段类型也要给出字段类型如: mysql>alter table student change saddress sremark varchar (25); 更改字段类型:mysql> alter table student modify sremark varchar(25); 删除字段:mysql>alter table student drop sremark; 更改表名称:mysql>alter table student rename to xs;

数据库的概念及基本操作

数据库的概念及基本操作 一:学习目标 1、掌握数据库的概念 2、理解数据库应用软件和数据库管理系统的概念 3、学会用access软件管理数据库 二:学习重难点 1、数据库应用系统和数据库管理系统的区别 2、Access的基本操作 三:学习过程 ○1、阅读教材完成以下填空 1:什么是数据库____________________________________________________ 2:请你简述数据库应用软件和数据库管理系统的区别 3:access数据库有若干张____________组成 4:数据表示一张二维表格,由行和列构成,每一行称为一条_____________,每一 列称为一个__________ 5:access文件的扩展名为:_______________________ 6:access数据表常见的字段类型有哪些 _______________________________________________________________________ ○2、任务一: 1、打开kaqatk.mdb,修改第一条记录的题目,运行程序,看看发生了什么变化? 2、添加三条记录,运行程序,看看又发生了如何改变? 3、删除编号为 4、10、16的记录,看看其他编号是否发生改变? 4、把题目表导出为excel表。文件名为”题目” 5、新建一个数据库,取名为题目,把题目表导入刀新数据库中。 任务二:假设你是腾讯公司的程序设计师,需要设计一个数据库用来存放QQ程序的个人信息、好友信息和聊天记录 1.打开access,新建一个数据库文件,里面新建3张数据表,表名称如下图: 2.设计个人信息表得有如下字段:序号、QQ号码、QQ密码、昵称头像、性别、 出生日期、个性签名 3.好友信息表得有如下字段:序号、QQ号码、昵称、头像 4.聊天记录表字段:序号、时间、聊天内容

mysql使用说明-简单操作版

1.安装mysql。注意编码的选择那,其它一概采用默认即可。 2.安装中,需要输入进入mysql的密码,请设置为root.(便于记忆和我测试用) 3.进入mysql的方法: 开始--》运行--》输入“mysql” 进入控制台界面如下: 输入你说设置的密码即可进入。 进入后的界面如下:

在“mysql>”的提示符下即可使用命令。 Mysql命令如下: Show databases; --显示所有数据库 Use 数据库名; ---进入某一个数据库中 此时即表示进入了dinner的数据库中,可以进行建表等的操作了。 以下即可使用大家学的sql的基本建表、增删改查的语法了 例如:Create table 表名(字段名字段类型约束,字段名字段类型约束,……) 注意:mysql的自动增长和sqlserver的不一样。 Sqlserver的自动增长用identity的关键字。 Mysql的自动增长用auto_increment

例如如下: 注意: 1)如果某个字段想做为自动增长,在mysql中,必须是主键方能如此。 2)设置默认值(默认值为数值型)约束的语法是default 值 如果设置的默认值为字符型那么公式如下:default ‘值’ 我们日常开发,都会把sql的建表语句提前写好,写在一个*****.sql文件中,然后在mysql 中导入该文件。

然后进入到mysql的控制台,导入此文件,如下: 用命令:source d:/mytable.sql 注意,我开始用错了斜杠是没办法导入的。 现在查看一下,是不是test1和test2都已经有了。 注:show tables; 这是mysql的命令,表示显示某个数据库中的所有的表。做web的项目的时候,别忘记把mysql的驱动jar包导入到lib中哦。 好了,mysql入门教程至此。大家安好。

Access数据库的基本操作

实验一Access数据库的基本操作 一、实验目的 通过该实验初步了解关系数据库的基本概念,学会QBE(域关系演算)查询语言的使用。掌握Access数据库的建立以及各种查询的建立方法。了解Access数据库的其他功能。 二、实验仪器 PII以上个人计算机 三、实验原理 关系数据库系统是支持关系模型的数据库系统。关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。 关系模型中数据的逻辑结构是一张二维表。关系模型中常用的关系操作包括:选择、投影、连接、并、交、差等查询操作,还包括插入、删除和修改等更新操作。 QBE是一种域关系演算语言,在Access数据库中可以通过建立查询实现QBE的操作。 四、实验内容与步骤 (一)实验内容 1.用Access建立一个学生选课数据库,数据库名为Student,其中包括下面3个表,Student表记录学生信息、Course表记录课程信息、SC表记录学生选课信息。要求每个表都建立主键,并输入表中的数据。 表1.1Student表数据 Sno Sname Ssex Sage Sdept 95001李勇男20CS 95002刘晨女19IS 95003王敏女18MA 95004张立男19IS 表1.2Course表数据 Cno Cname Cpno Ccredit

1数据库54 2数学2 3信息系统14 4操作系统63 5数据结构74 6数据处理2 7PASCAL语言64 表1.3SC表数据 Sno Cno Grade 95001192 95001285 95001388 95002290 95002380 95003487 95003592 2.使用Access的QBE建立如下查询: (1)求信息系(IS)全体学生的姓名,查询名称保存为View_1。 (2)查询全体学生的全部数据,查询名称保存为View_2。 (3)求年龄大于19岁的学生的学号,查询名称保存为View_3。 (4)求计算机系年龄大于19岁的学生的学号,查询名称保存为View_4。 (5)查询算机系或者年龄大于19岁的学生的学号,查询名称保存为View_5。 (6)查询选修1号课的学生姓名,查询名称保存为View_6。 (7)查询信息系学生的平均年龄,查询名称保存为View_7。 (8)查全体男生的姓名,要求查询结果按所在系升序排序,对相同系的学生按年龄降序排序,查询名称保存为View_8。 3.使用Access的QBE完成下列更新操作,要求用查询完成: (1)把95001学生的年龄该为18岁,查询名称保存为View_a。(使用更新查询) (2)把所有学生的年龄都增加1岁,查询名称保存为View_b。(使用更新查询) (3)把信息系女生95701,姓名张三,年龄17岁存入数据库,查询名称保存为View_c。(使用追加查询) (4)删除学生95089,查询名称保存为View_d。(使用删除查询) (5)删除信息系(IS)全体学生记录,查询名称保存为View_e。(使用删除查询) (二)实验步骤 (1)启动Access,建立名为student的数据库。 (2)在数据库窗口中选择“使用设计器创建表”,点击“新建”按钮,在出现的“新建表”窗口中选择“设计视图”,点击“确定”按钮,在出现的窗口中输入表的字段名和选择数据类型,如图1.1所示:

mysql操作手册

上机1 1、安装Mysql; 注意:设置超级用户密码的时候,统一设置为1234 2、进入Mysql; 开始->程序->MySQL->MySQL Server 5.0->MySQL Command Line Client 3、建立数据库BANKxxx; create database BANKxxx; --xxx为你的学号后三位 show databases; --验证是否建立成功 //命令必须在后面加分号否则出错,如果show databases;打成了show database;的话,也会错误,错误如下: 正常情况下是如下: 4、使用数据库BANK; use BANKxxx; --使用数据库BANK show tables; --数据库中没有表 因为此时BANK234为空表。 5、建立表BRANCHxxx, CUSTOMERxxx, LOANxxx, BORROWERxxx, ACCOUNTxxx, DEPOSITORxxx;

Creating DataBase ?Creating the Banking database: Database Schema: branch (branch_name, branch_city, assets) customer (customer_name, customer_street, customer_city) depositor (customer_name, account_number) account (account_number, branch_name, balance) borrower(customer_name, loan_number) loan (loan_number, branch_name, amount) Creating database Banking steps: 1) CREATE DATABASE Banking… (syntax lie on DBMS) 2) Creating referenced tables(被参照关系) 3) Creating referencing tables 4) Creating other object of database Creating Tables //Creating table customer in SQL CREATE TABLE customer ( customer_name char(20), customer_street char(30) NOT NULL, customer_city char(30) ) ; CREATE TABLE ACCOUNTxxx (

SQL数据库基本操作命令

数据库基本操作命令 查询数据:Select 插入数据:Insert 删除数据:Delete 修改数据:Update 建立数据对象:Create 更改数据对象:Alter 删除数据对象:Drop 授权语句:Grant 回收权限语句:Revoke SQL语句: 1.建立表操作: Create table表名(列名,列类型…)[Constraint(约束名称)(约束条件)] 外键约束: Constraint (外键名称) foreign key (作为外键的列) references <参照表><参照列> 更改表定义: Alter table(表名) {add(列说明)|drop column(列名)|alter column(列说明)|add(约束说明)|drop(约束)} 删除表: Drop table(表名) 2.插入一行数据: Insert into(表名)[(列名表)] values (对应列的值表); 插入多行数据: Insert into (表名)[列名表](子查询) 3.修改数据: Update (表名) set (列)=(值)[…][where(定位条件)] 4.删除表中的数据行: Delete from (表名) [where (条件)] 5.查询数据信息: Select[(distinct消除重复行)/(count (列名))](输出结果列表) from (表名)[where(选择条件)|group by(分类条件)/having(条件)|order by(排序条件)/(asc升序|desc降序)|… ] Where条件信息表: {(确定范围:between and,not between and)|(确定集合:in,not in)|(字符匹配:like,not like[%任意多个字符,_任何一个字符])|(空值:is null,is not null)|(多重条件:and,or)} 聚集函数: 最大值:max(表达式) 最小值:min(表达式) 求和函数:sum(表达式) 平均值函数:avg(表达式) 子查询:

数据库基本操作

SQLServer2000基本操作练习 1.熟悉SQLServer2000的常用工具(包括Enterprise Manager(企业管理器)、Query Analyzer(查询分析器)、 Service Manager(服务管理器)等)。 2.利用Enterprise Manager,新建一个数据库,命名为学生-课程数据库(SG)。 3.利用Enterprise Manager建立学生表(Student)和课程表Course)并录入以下数据:(★:字符型▼数值型)。 1)学生表:★学号★姓名★性别▼年龄★所在系 (95001 李勇男20 CS)(95002 刘晨女19 IS) (95003 王敏女18 MA)(95004 张立男19 IS) 2)课程表:★课程号★课程名★先修课程号▼学分 (1 数据库 5 4)(2 数学空值2)(3 信息系统 1 4) (4 操作系统 6 3)(5 数据结构7 4) (6 数据处理空值2)(7 DB_Design 6 2) 4.利用Query Analyzer建立选修表(SC)并录入以下数据:(★:字符型▼数值型) 选修表:★学号★课程号▼成绩 (95001 1 92)(95001 2 85)(95001 3 88) (95002 2 90)(95002 3 80)(95003 1 空值) 5.自学“关系数据库基础.ppt”,利用Query Analyzer验证“三、标准SQL语言基础”例题中的SQL语句(主 要验证:SELECT、INSERT、UPDA TE、DELETE操作) 6.利用Query Analyzer写出SQL语句完成以下操作: 1)查询以"DB_"开头,且倒数第3个字符为i的课程的详细情况。 SELECT * FROM Course WHERE Cname LIKE 'DB\_%i__' ESCAPE '\' 2)查询有成绩的学生选课信息,查询结果按分数的降序排列。 SELECT * FROM SC WHERE Grade LIKE 3)查询有2门及2门以上课程是80分以上的学生的学号及(80分以上的)课程数。 4)查询每个学生及其选修课程的情况(包括没有选修课程的学生----用外连接操作)。 5)查询选修了课程名为“信息系统”的学生学号和姓名(用嵌套查询实现)。 6)查询选修了课程名为“信息系统”的学生学号和姓名(用连接查询实现)。 7)查询没有选修1号课程的学生姓名。 8)查询其他系中比信息系(IS)所有学生年龄都小的学生姓名、年龄及所在系。 9)建立信息系(IS)选修了2号课程的学生视图,并对该视图进行查询操作。

相关文档
最新文档