启动、登录MySQL
运行cmd,进入到mysql的安装目录的bin文件夹下,执行命令
net start MySQL
然后在这个目录下面执行下面的命令,登录mysql
mysql -u root -p
新建的数据库没有密码,直接回车即可
如果有密码的话就要输入密码。
创建数据库
create database xxxxxxx;
上面的命令会创建一个数据库,但是如果当数据库存在时,MySQL会返回创建数据库失败的错误。如果使用下面的命令,在创建的时候如果数据库已经存在,就不会报错,而是返回一个warning信息。
create database if not exists xxxxx;
执行命令show warnings即可查看警告信息。
创建数据库并指定字符集为utf-8:
create database xxxxx DEFAULT CHARACTER SET utf8;
选择数据库
在创建数据库后,如果我们想在创建的数据库下进行操作,需要先切换到这个数据库。
use xxxxxx;
查看数据库
查看数据库下面有哪些表
show tables;
查看库的创建方法,包括库的字符集信息。
show create database xxxxx;
查看当前数据库中有哪些库
show databases;
修改数据库
如果在创建数据库的时候,忘了指定字符集,可以执行alter命令来调整库的字符集。
alter database xxxxxxxx DEFAULT CHARACTER SET utf8;
删除数据库
删除数据库是将已经创建的库从数据库中删除,执行该操作的同时,会清除该库下的所有内容。
drop database xxxxxxx;
查看数据表
show tables;
查看一张数据表的结构,可以用下面的语句:
show create table 表名;
只查看各个列的定义:
desc 表名;
修改数据表
修改表名
修改表名只会修改表的名字,对表的数据、字段的类型都没有影响。修改表名由两种语法形式,分别是使用ALTER命令和使用RENAME命令
ALTER命令的语法如下:
alter table 原表名 rename 新表名
举个例子,把表user_tmp10修改为user_tmp1
alter table user_tmp10 rename user_tmp1;
然后,用rename命令把名字改回来
rename table user_tmp1 to user_tmp10;
修改表的字段类型
执行alter命令修改字段name的类型:
alter table user_tmp10 modify name varchar(200);
修改表的字段名字
语法:
alter table 表名 change 原列名 新列名 数据类型;
举个例子,把user_tmp10的name字段修改为new_name
alter table user_tmp10 change name new_name varchar(300);
为表添加字段
语法:
alter table 表名 add 新列名 数据类型 [约束条件] [first/after 字段名];
举个例子,为user_tmp10表添加一个新字段col1同时添加非空约束
alter table user_tmp10 add column col1 int not null;
为user_tmp10表在第一列添加一个新字段col2
alter table user_tmp10 add column col2 int first;
为user_tmp10表在第一列col2后添加一个字段col3
alter table user_tmp10 add column col3 int after col2;
为表删除字段
删除表字段的语法如下
alter table 表名 drop 列名;
将user_tmp10的col3列删除:
alter table user_tmp10 drop column col3;
调整表字段的位置
修改表字段的位置的语法如下:
alter table 表名 modify 列名 数据类型 first|after 字段名;
调整表user_tmp10,把id列调整为第一列:
alter table user_tmp10 modify id int first;
调整表user_tmp10,把col2移动到col1后面
alter table user_tmp10 modify col2 int after col1;
调整表的引擎
alter table 表名 engine=新引擎名
可以通过命令 show engines来查看当前数据库支持哪些引擎。
删除表的外键约束
将people表的外键删除:
alter table people drop foreign key p_c_id;
删除数据表
删除数据表的语法如下,关键字table可以替换为tables
drop table [if exists] 表1, 表2, ... 表n;
使用drop table删除多张表,命令如下:
drop table user_tmp4, user_tmp5, user_tmp9;