一、进入MySQL
mysql -u root -p
退出
quit
二、修改密码
先进入MySQL,然后输入
set password for 用户名@localhost = '新密码'
示例修改密码为12345678
或者直接在终端中修改:
mysqladmin -u root -p password 12345678
三、数据库的操作
1.创建数据库
create database 数据库名;
判断数据库是否已经存在,不存在则创建数据库
create database if not exists 数据库名;
创建数据库并指定字符集,如utf8
create database 数据库名 character set 字符集;
2.查看数据库
查看所有数据库
show databases;
查看某个数据库的定义信息
show create database 数据库名;
3.删除数据库
drop database 数据库名;
4.修改数据库
修改数据库默认的字符集
alter database 数据库名 default character set 字符集;
5.使用/切换数据库
use 数据库名;
6.查看正在使用的数据库
select database();
四、表结构的操作
1.创建表
create table 表名 ( 字段名1 字段类型1, 字段名2 字段类型2 );
举例:
create table student ( id int, name varchar(20), birthday date );
2.查看数据库中所有的表
show tables;
3.查看表结构
describe 表名;
4.查看创建表的SQL语句
show create table 表名;
5.删除表
drop table 表名;
6.判断表是否存在,如果存在则删除表
drop table if exists 表名;
7.修改表的结构
(1)添加表列-add
alter table 表名 add 列名 数据类型;
例如:
alter table student add id int;
(2)修改列类型-modify
alter table 表名 modify 列名 新的类型;
例如:
alter table student modify name varchar(50);
(3)修改列名-change
alter table 表名 change 旧列名 新列名 类型;
例如:
alter table student change remark intro varchar(30);
(4)删除列-drop
alter table 表名 drop 列名;
例如:
alter table student drop intro;
(5)修改表名-rename
rename table 表名 to 新表名;
例如:
rename table student to student2;
(6)修改字符集
alter table 表名 character set 字符集;
例如:
alter table student character set gbk;
五、表数据的操作
1.插入数据
insert into 表名 (字段名1, 字段名2, 字段名3, ...) values (值1, 值2, 值3, ...),(...);
2.复制数据
将“表名2”中的所有的列复制到“表名1”中
insert into 表名1 select * from 表名2;
只复制部分列
insert into 表名1 (列1, 列2, ...) select (列1, 列2, ...) from 表名2;
3.修改表记录
(1)不带条件的修改数据,即修改所有的行。
update 表名 set 字段名=值;
(2)带条件修改记录
update 表名 set 字段名=值 where 字段名=值;
例如:
update students set name='哆啦A梦' where id=2018001;
4.删除表记录
(1)不带条件删除数据
delete from 表名;
(2)带条件删除数据
delete from 表名 where 字段名=值;
(3)使用truncate删除数据
truncate table 表名;
(4)delete和truncate区别
truncate 相当于删除表的结构,再创建一张表
5.查询表中的数据
(1)查询表所有行和列的数据
select * from 表名;
(2)查询指定列
select 字段名1, 字段名2, 字段名3, ... from 表名;
(3)对列指定别名进行查询
select 字段名1 as 别名1, 字段名2 as 别名2, ... from 表名;
例如:
select name as '姓名', age as '年龄' ... from students;
查看students表中的name字段和age字段的记录,其中name字段指定别名为 “姓名”,age字段指定别名为 “年龄”。
(4)对列和表同时指定别名进行查询
select 字段名1 as 别名1, 字段名2 as 别名2, ... from 表名 as 别名;
例如:
select name as '姓名', age as '年龄' ... FROM students as '学生信息表';
查看students表中的name字段和age字段的记录,其中name字段指定别名为 “姓名”,age字段指定别名为 “年龄”,students表指定别名为 “学生信息表”。
(5)查询指定列并且结果不出现重复数据
select distinct 字段名 from 表名;
例如:
select distinct address from student;
去掉重复的地方
(6)查询结果参与运算
某列数据和固定值运算
select 列名1 + 固定值 from 表名;
某列数据和其他列数据参与运算
select 列名1 + 列名2 from 表名;
注意: 参与运算的必须是数值类型
(7)条件查询
select 字段名 from 表名 where 条件;