使用MySQL数据库
登录到MySQL
当MySQL服务已经运行时,我们可以通过MySQL自带的客户端工具登录到MySQL数据库中,首先打开终端,输入以下格式的命令:
mysql -h 主机名 -u 用户名 -p
- -h:该参数用于指定客户端所要登录的MySQL主机名,登录当前机器该参数可以省略;
- -u:所要登录的用户名;
- -p:告诉服务器将会使用一个密码来登录,如果所要登录的用户名密码为空,可以忽略此参数。
创建一个数据库
使用create database
语句可以完成对数据库的创建,格式如下:
create database 数据库名 [其他选项];
例如,我们需要创建一个名为sample_db的数据库,在终端执行以下命令:
create database sample_db character set gbk;
查看数据库
输入以下命令查看已经创建了哪些数据库。
show databases;
选择所要操作的数据库
要对一个数据库进行操作,必须先选择该数据库,否则会提示错误:
ERROR 1046(3D000): 名 No database selected
有两种方式对数据库进行使用的选择:
1. 在登录数据库时指定,命令:mysql -D 所选择的数据库名 -h 主机名 -u 用户名 -p
,如登录时选择刚刚创建的数据库:mysql -D sample_db -u root -p
2. 在登录MySQL后使用use
语句指定,命令:use 数据库名;
创建数据库表
使用create table
语句可完成对表的创建,create table
的常见形式:
create table 表名称(列声明);
以创建students表为例,表中将存放 学号(id)、姓名(name)、性别(sex)、年龄(age)、联系电话(tel)这些内容:
create table students(
id int unsigned not null auto_increment primary key,
name char(8) not null,
sex char(4) not null,
age tinyint unsigned not null,
tel char(13) null default "-"
);
对于一些较长的语句在终端下可能容易输错,因此我们可以通过任何文本编辑器将语句保存为createtable.sql的文件中,通过执行以下命令执行该脚本:
mysql -D sample_db -u root -p < createtable.sql
提示:
1. 如果连接远程主机需加上-h参数
2. createtable.sql文件若不在当前工作目录下需给出文件的完整路径
查看已创建的表
使用show tables;
命令可查看已创建了表的名称。
查看已创建表的详细信息
使用describe 表名;
命令可查看已创建表的详细信息,也可以简写成desc 表名;
操作MySQL数据库
向表中插入数据
insert语句可以用来将一行或多行数据插到数据库表中,使用的一般形式如下:
insert [into] 表名 [(列名1,列名2,列名3,...)] values (值1,值2,值3,...);
其中[]内的内容是可选的,例如,要给sample_db数据库中的students表插入一条记录,执行语句:
insert into students values(NULL,"赵四","男",20,"12306");
按回车键确认后若提示Query Ok,1 row affected表示数据插入成功,若失败则查看一下是否已选择需要操作的数据库。
有时我们只需要插入部分数据,或者不按照列的顺序进行插入,可以使用这样的形式进行插入:
insert into students (name,sex,age) values("王二","女",21);
查询表中的数据
select语句常用来根据一定的查询规则到数据库中获取数据,其基本的用法为:
select 列名称 from 表名称 [查询条件];
更新表中的数据
update 语句可用来修改表中的数据,基本的使用形式为:
update 表名称 set 列名称=新值 where 更新条件;
删除表中的数据
delete语句可用于删除表中的数据,基本用法为:
delete from 表名称 where 删除条件;
创建后表的修改
alter table
语句用于创建后对表的修改,基本语法如下:
添加列
基本形式alter table 表名 add 列名 列数据类型 [after 插入位置];
示例:
1. 在表的最后追加列address:alter table students add address char(60);
2. 在名为age的列后插入列birthday:alter table students add birthday date after age;
修改列
基本形式:alter table 表名 change 列名称 列新名称 新数据类型;
示例:
- 将表tel列该为telephone:
alter table students change tel telephone char(13);
- 将name列的数据类型改为char(16):
alter table students change name name char(16) not null;
删除列
基本形式:alter table 表名 drop 列名称;
重命名表
基本形式:alter table 表名 rename 新表名;
删除整张表
基本形式:drop table 表名;
删除整个数据库
基本形式:drop database 数据库名;
附录
修改root用户密码
使用mysqladmin方式:
基本形式:mysqladmin -u root -p password 新密码