本次内容建立在电脑已经安装了mysql
基本操作
启动数据库
在命令行执行以下操作(如果没成功,可能需要使用管理员运行cmd)
进入MySQL数据库
建库
create database 数据库名;
查看数据库
show databases;
建库之后会出现一个test的库
删除数据库
如果需要删除库跑路的话可以执行以下操作
drop database 数据库名;
这里就不演示了-.-
查看建库信息
show create database 数据库名;
建表
建表(table) 一个库中有多张表,每张表里有多条数据 表分成行(row 横向)与列(column 纵向)
例如:
学号 姓名 性别
1 张三 男
2 李四 女 …
- 选库
use 库名;
执行了这个命令以后对表的操作都在数据库test中
2. 建表
create table 表名(
列1名 类型,
列2名 类型,
...
);
此处代码换行是为了提升可读性,在实际操作中不换行也可以,后面的也一样。
数据类型:
整数类型:
- tinyint(1个字节)
- smallint(2个字节)
- int(4个字节)
- bigint(8个字节)
浮点类型:
- float
- double
定点小数:
decimal(总位数, 小数位数)
decimal(10, 2) 小数部分两位,整数部分最大8位
字符类型 :
- char(长度) char(10) 表示最多存10个字符, 定长,效率高
例如: “abc” 存储时,长度不足,用空格补齐 - varchar(长度) varchar(10) 表示最多存储10个字符,变长
例如: “abc” 存储时,根据实际长度存储,可以节省空间
日期类型:
- datetime
- timestamp
插入数据:
insert into 表名(列1, 列2, ... 列n) values (值1, 值2, ... 值n);
注意:值个数要与列个数一致!
查询数据:
- 查询数据
select 列1,列2... from 表名;
- 查看所有库:
show databeses;
- 查看所有表.
show tables;
- 查询所有列
select * from 表名;
*代表所有
mysql会把它翻译成:id,name,sex
唯一主键
每张表只能有一个主键,主键的值必须是唯一,且非空的
create table 表名(
列1名 类型 primary key,
列2名 类型,
...
);
自增列
用来解决主键冲突问题
在主键列后加入:auto_incremengt
create table student(
id int primary key auto_increment,
name varchar(10),
sex char(1)
);
因为id列由数据库维护,所以有了自增列后就不需要给id列赋值了
许多时候希望table中数据的id不要从1开始,像qq, id从10000开始,代码如下:
alter table student AUTO_INCREMENT=1000;
一次插入多条记录(mysql独有)
insert into student(name,sex) values('李四', '男'),('王五','男'),('张三','女');
删除
- 删除表:
drop table 表名;
- 删除记录(只删除数据,不删表):
delete from 表 where 条件;
- 删除选定记录:
只删除id=6的记录
delete from student where id=6;