数据库基本操作
sql语句最后需要有分号;结尾
链接数据库
-p后输入密码回车后就不用输入了
mysql -uroot -p
mysql -uroot -pmysql
退出数据库
exit
quit
ctrl + D
显示版本
select version();
显示时间
select now();
查看所有数据库
show databases;
创建数据库
第一条语句默认编码
第二条语句指定编码
create database sqlname;
create database sqlname charset=utf8;
删除数据库
若数据库名是name-name形式,须用table上面符号括起来,即name-name
drop database sqlname;
查看创建数据库
show create database sqlname;
查看当前使用的数据库
select database();
使用数据库
use sqlname;
数据表基本操作
查看当前数据库中所有表
show tables;
创建表
auto_increment 表示自动增长
not null 表示不能为空
primary key 表示主键
default 默认值
create table xxx(id int, name varchar(30));
create table yyy(id int primary key not null auto_increment, name varchar(30));
create table zzz(
id int primary key not null auto_increment,
name varchar(30)
);
数据表的名字
desc tablename;
例如:创建一个students表(id,name,age,high,gender,cls_id)
表中最后一个字段末尾不能有,
int unsigned 表示无符号字符
decimal(5,2)表示一共有5位,有2位小数
enum 枚举
create table students(
id int unsigned not full auto_increment primary key,
name varchar(30),
age tinyint unsigned default 0,
high decimal(5,2),
gender enum("男","女","中性","保密") default "保密",
cls_id int unsigned
)
向数据表插入数据
insert into students values(0, "老王", 18, 188.88, "男", 0);
查询数据
select * from students;
修改表的几种方式
修改表—添加字段
alter table students add birthday datetime;
修改表—修改字段:不重命名版
alter table students modify birthday date;
修改表—修改字段:重命名版
alter table students change birthday birth date default "1990-01-01";
修改表—删除字段
drop table students drop high;
删除表
drop table tablename;
修改
update students set age=22, gender=1 where id=3;
查询基本使用
查询所有列
select * from students;
按一定条件查询
select * from students where name="老王";
select * from students where id<5;
查询指定列
select name,gender from students;
可以用as给列或表指定别名
select name as 姓名,gender as 性别 from students;
字段的顺序
select id as 序号, gender as 性别, name as 姓名 from students;
删除
物理删除
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=1;