mysql 数据库操作命令
1、登录数据库
mysql -u root -p
2、显示当前时间
select now();
3、查看所有数据库
show databases;
4、创建数据库
create database ‘数据库名’ charset=utf8;
例:
create database test_database charset=utf8;
5、使用数据库
use ‘数据库名’;
例:
use test_database;
6、查看当前使用的数据库
select database();
7、删除数据库
drop database 数据库名;
例:
drop database test_database;
8、查看当前数据库中所有表
show tables;
9、创建表
create table "表名" ("字段,类型,约束");
例:
create table students3(
id int unsigned primary key auto_increment not null,
name varchar(20) not null,
age tinyint unsigned default 0,
height decimal(5,2),
gender enum("男","女") default "男"
);
10、修改表
添加字段
alter table 表名 add 列名 类型 约束;
例:
alter table students add birthday datetime;
修改字段类型
alter table 表名 modify 列名 类型 约束;
例:
alter table students modify birthday date not null;
(modify 只能修改字段类型或者约束,不能修改字段名)
修改字段名和字段类型
alter table 表名 change 原列名 新列名 类型及约束;
例:
alter table student change birthday birth datetime not null;
(change 既能对字段重命名,又能修改字段类型还能修改约束)
删除字段
alter table 表名 drop 列名;
例:
alter table student drop birthday;
11、查看创建表的SQL语句
show create table 表名;
例:
show create table student;
12、查看创建库的SQL语句
show create database 库名;
例:
show create database test_database;
13、删除表
drop table student;
14、查询数据
查询所有列
select * from 表名;
例:
select * from student;
查询指定列
select 字段1,字段2,... from 表名;
例:
select id,name from student;
15、增加表中数据
全列插入:
值的顺序与表结构字段的顺序完全一一对应
insert into 表名 values(...);
例:
insert into student values(0, "xx", default, '男');
部分列插入:
值的顺序与给出的列顺序对应
insert into 表名(字段1,字段2...)values (值1,值2...);
例:
insert into student (name,age) values ("steam", 44);
多列多行插入
insert into 表名 values (...)(...);
例:
insert into student values (1, "yy", default, '女'),(2, "zz", default, '男');
部分列多行插入
insert into 表名(字段1,字段2...) values (值1, 值2...) (值1, 值2...);
例:
insert into students1 (name, age, sex) values ("ff", 23, '男'),("gg", 34, '女');
16、修改表中数据
update 表名 set 字段1=值1, 字段2=值2, 字段3=值3... where 条件;
例:
update student set age=18, gender= '女' where id = 6;
17、删除表中数据
物理删除:
delete from 表名 where 条件;
例:
delete from student where id=5;
逻辑删除:
#添加删除表示字段,0表示未删除,1表示删除
alter table students1 add isdelete bit default 0;
#逻辑删除数据
update students1 set isdelete = 1 where id = 8;
18、as和distinct 关键字
使用as给字段起别名
select id as 序号,name as 名字,gender as 性别 from student;
可以通过as给表起别名
# 如果是单表查询,可以省略表名
select id, name, gender from student;
# 表名.字段名
select student.id, student.name, student.gender from student;
# 可以通过 as 给表起别名
select s.id, s.name, s.gender from student as s;
distinct关键字可以去除重复数据行
select distinct 列1,... from 表名;
19、where 条件查询的介绍
使用where条件查询可以对表中的数据进行筛选,条件成立的记录会出现在结果集中。
where语句支持的运算符:
比较运算符
*等于:=
*大于:>
*大于等于:>=
*小于:<
*小于等于:<=
*不等于:!= 或 <>
逻辑运算符
*and
*or
*not
模糊查询
*like 是模糊查询的关键字
*% 表示任意多个任意字符
*_ 表示一个任意字符
范围查询
*between...and...表示在一个连续的范围内查询
*in 表示在一个非连续的范围内查询
空判断
*判断为空使用:is null
*判断非空使用:is not null
where条件查询语法格式如下
比较运算符
select * from 表名 where 条件;
例:
select * from student where id = 1;
逻辑运算符
select * from student where id > 3 and gender = "女";
select * from student where id < 4 or is_del = 0;
select * from student where not (age >=20 and age <= 50);
模糊查询
select * from student where name like "黄%";
select * from student where name like "黄_" or name like "%靖";
范围查询
select * from student where id >= 3 and id <= 8;
select * from student where id between 3 and 8;
select * from student where not (id between 3 and 8);
select * from student where id in (3,5,7);
select * from student where id not in (3,5,7);
空判断
select * from student where age is null;
select * from student where age is not null;