1.用户管理
- 新建用户
格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;
- 修改密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
将root的密码改为123456
mysqladmin -u root -p 123 password 123456 |
2.数据库管理
- 创建数据库
格式:create database<数据库名>
建立一个名为xhkdb的数据库
create database student; |
- 显示数据库
格式:show databases (注意:最后有个s)
show databases; |
- 删除数据库
格式:drop database <数据库名>
删除名为 xhkdb的数据库
drop database xhkdb; |
- 连接数据库
格式:
use <数据库名>
use xhkdb; |
3.表操作
- 创建数据表
格式:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
创建一个名为MyClass的表
字段名 |
数字类型 |
数据宽度 |
是否为空 |
是否主键 |
自动增加 |
默认值 |
id |
int |
4 |
否 |
primary key |
auto_increment |
|
name |
char |
20 |
否 |
|
|
|
sex |
int |
4 |
否 |
|
|
0 |
degree |
double |
16 |
是 |
|
|
|
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)); |
- 删除数据表
格式:drop table <表名>
删除表名为 MyClass 的表
drop table MyClass; |
- 修改表名
格式:rename table 原表名to 新表名;
在表MyClass名字更改为YouClass
rename table MyClass to YouClass; |
- 显示表
- 显示数据库中的表名
show tables; |
- 显示表的结构
格式:describe 表名
show MyClass; |
- 修改表的字段
- 增加一个字段
格式:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
alter table MyClass add passtest int(4) default '0'; |
- 加索引
格式:
alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
alter table employee add index emp_name (name); |
- 加主关键字索引
格式:alter table 表名add primary key (字段名);
alter table employee add primary key(id); |
- 加唯一限制条件索引
格式:alter table 表名add unique 索引名 (字段名);
alter table employee add unique emp_name2(cardnumber); |
- 删除某个索引
格式: alter table 表名drop index 索引名;
alter table employee drop index emp_name; |
- 增加字段
格式:alter table 表名 add 字段名 字段类型
ALTER TABLE table_name ADD field_name field_type; |
- 修改原字段名称及类型
格式:alter table 表名 change 旧字段名 新字段名 字段类型
ALTER TABLE table_name CHANGE old_field_name new_field_name field_type; |
- 删除字段
格式:alter table 表名 drop 字段名
ALTER TABLE table_name DROP field_name; |
4.表数据操作
字段名 |
数字类型 |
数据宽度 |
是否为空 |
是否主键 |
自动增加 |
默认值 |
id |
int |
4 |
否 |
primary key |
auto_increment |
|
name |
char |
20 |
否 |
|
|
|
sex |
int |
4 |
否 |
|
|
0 |
degree |
double |
16 |
是 |
|
|
|
- 表插入数据
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为96.5。
insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59); |
- 删除表中的数据
格式:delete from 表名where 表达式
删除表 MyClass中编号为1 的记录
delete from MyClass where id=1; |
- 修改表中的数据
格式:update 表名 set字段=新值,… where 条件
将id=1的数据的name改为"Marry"
update MyClass set name='Mary' where id=1; |
- 查询表中数据
- 查询所有行
格式:select <字段1,字段2,...>from < 表名 > where < 表达式 >
查看表 MyClass 中所有数据
select * from MyClass; |
- 查询前几行数据
格式:select <字段> from 表名 limit 开始,结束
select * from t_user limit 0,2; |
5.一个建库建表的实例
drop database if exists school; //如果存在SCHOOL则删除 create database school; //建立库SCHOOL use school; //打开库SCHOOL create table teacher //建立表TEACHER ( id int(3) auto_increment not null primary key, name char(10) not null, address varchar(50) default ‘深圳’, year date ); //建表结束
//以下为插入字段 insert into teacher values(”,’allen’,'大连一中’,'1976-10-10′); insert into teacher values(”,’jack’,'大连二中’,'1975-12-23′);
|