1.登录退出数据库
1.1.登录连接数据库
mysql [-h 主机地址] -u 用户名 -p [密码]
一般:mysql -uroot -p密码
1.2.退出数据库
1.exit
2.quit
3.ctrl+d
2.库的操作
2.1.查看所有数据库
show databases;
2.2.显示时间
select now();
2.3.显示当前版本
select version();
2.4.创建一个数据库
1.create database 数据库名;
2.create database 数据库名 charset=utf8;
2.5.查看一个数据库的创建
show create database 数据库名;
2.6.删除数据库
drop database 数据库名;
2.7.查看当前使用的数据库
select database();
2.8.使用数据库
use 数据库名;
3.数据表操作
3.1.查看当前数据库中所有表
show tables;
3.2.创建数据表
1.create table 表名字(字段1 类型, 字段2 类型,。。。);
2.create table 表名字(字段1 类型 约束[, 字段 类型 约束]);
--举例:
create table students(
id int unsigned not null auto_increment primary key,
name varchar(30),
age tinyint unsigned default 0,
high decimal(5,2),
gender enum("男", "女", "中性", "保密") default "保密",
cls_id int unsigned
);
3.3.在表中插入数据
insert into 表名字 values(xx, xx, xx, xx, xx, xx…);
3.4.查询表中数据
select * from 表名字;
3.5.查看数据表
desc 表名;
3.6.数据表添加字段
alter table 表名 add 字段 类型 [约束];
alter table 表名 add 字段 类型 [约束] after 字段名;
alter table 表名 add 字段 类型 [约束] first;
3.7.修改表的字段的类型
later table 表名 modify 字段 新类型
3.8.修改表的字段名
alter table 表名 change 原字段名 新字段名 类型 约束;
3.9.删除字段
alter table 表名 drop 字段;
3.10.删除表
drop table 表名;
3.11.查看表创建语句
show create table 表名 ;
3.12.重命名表
rename table 旧表名 to 新表名;
4.数据的增删改查(curd)
创建一个表students,各个字段的类型和约束如下
+--------+-------------------------------------+------+-----+------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------------------------------+------+-----+------------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(30) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | 0 | |
| gender | enum('男','女','中性','保密') | YES | | 保密 | |
| cls_id | int(10) unsigned | YES | | NULL | |
| birth | date | YES | | 2000-01-01 | |
+--------+-------------------------------------+------+-----+------------+----------------+
4.1.增加
-- 向students表插入 一个学生信息
insert into students values(0, "小李飞刀", 20, "女", 1, "1990-01-01");
insert into students values(null, "小李飞刀", 20, "女", 1, "1990-01-01");
insert into students values(default, "小李飞刀", 20, "女", 1, "1990-01-01");
-- 枚举中 的 下标从1 开始 1---“男” 2--->"女"....
insert into students values(default, "小李飞刀", 20, 1, 1, "1990-02-01");
-- 部分插入
-- insert into 表名(列1,...) values(值1,...)
insert into students (name, gender) values ("小乔", 2);
-- 多行插入
insert into students (name, gender) values ("大乔", 2),("貂蝉", 2);
insert into students values(default, "西施", 20, "女", 1, "1990-01-01"), (default, "王昭君", 20, "女", 1, "1990-01-01");
4.2.修改
-- update 表名 set 列1=值1,列2=值2... where 条件;
update students set gender=1; -- 全部都改
update students set gender=1 where name="小李飞刀"; -- 只要name是小李飞刀的 全部的修改
update students set gender=1 where id=3; -- 只要id为3的 进行修改
update students set age=22, gender=1 where id=3; -- 只要id为3的 进行修改
4.3.查询
-- 查询所有列
-- select * from 表名;
select * from students;
---定条件查询
select * from students where name="小李飞刀"; -- 查询 name为小李飞刀的所有信息
select * from students where id>3; -- 查询 name为小李飞刀的所有信息
-- 查询指定列
-- select 列1,列2,... from 表名;
select name,gender from students;
-- 可以使用as为列或表指定别名
-- select 字段[as 别名] , 字段[as 别名] from 数据表 where ....;
select name as 姓名,gender as 性别 from students;
-- 字段的顺序
select id as 序号, gender as 性别, name as 姓名 from students;
4.4.删除
-- 物理删除
-- delete from 表名 where 条件
delete from students; -- 整个数据表中的所有数据全部删除
delete from students where name="小李飞刀";
-- 逻辑删除(软删除、标记删除)
-- 用一个字段来表示 这条信息是否已经不能再使用了
-- 给students表添加一个is_delete字段 bit 类型
alter table students add is_delete bit default 0;
update students set is_delete=1 where id=6;
select * from students where id_delete = 0; # 正常数据
select * from students where id_delete = 1; # 已删除数据