数据库操作
一、数据库操作
启动服务:
- net start mysql80
停止服务:
- net stop mysql80
查看引擎
- show engines;
1.登录mysql
- mysql -uroot -p 注意:此行结束没有";"
2.连接指定地址数据库服务端
- mysql -h 主机名 -u 用户名 -p 注意:此行结束没有";"
3.显示所有数据库
- show databases;
4.查看当前使用数据库
- select database();
5. 创建数据库
- ctreate database 数据库名 character set 字符集 collate 字符排序规则;(红色可省略)
6.选择数据库
- use 数据库名;
7.查看当前数据库
- status;或者 \s;
8.修改数据库编码格式
- alter database 数据库名 character set 编码格式;
9.直接登录数据库
- mysql -D数据库名 -h主机名 -u用户名 -p
10.删除数据库
- drop database 数据库名;
11.查看数据库版本
- select version();
12.查看数据库时间
- select now();
13.退出数据库
- exit; 或 quit; 或 \q;
二、数据表操作
1.查看数据表
- show table;
2.创建数据表(要先进入数据库才可创建数据表)
- Create table 表名(
Column1(字段名1) datatype(数据类型)contrai(约束条件),
Column2(字段名2) datatype(数据类型)contrai(约束条件),
。
。
。
);
3.查看表的创建
- Show create table 表名;
4.查看表结构
- desc 表名;
5.修改表名
- rename table 原表名 to 新表名;
6.增加数据表字段
- alter table 表名 add 列名 类型;
7.使用change修改数据表字段(可以修改字段名、字段类型)
- alter table 表名 change 原名 新名 类型及约束(不可省略);
8.使用mdify修改数据表字段(只可修改字段类型)
- alter table 表名 modify 列名 类型及约束;
- change 可以更改列名 和 列类型 (每次都要把新列名和旧列名写上, 即使两个列名没有更改,只是改了类型)
- modify 只能更改列属性 只需要写一次列名, 比change 省事点
来自 <https://www.jianshu.com/p/e9338da60a61>
9.删除数据表字段
- alter table 表名 drop 字段名;
10.删除数据表
- drop table 字段名;
示例-创建表
创建学生(student)表
id字段(不为负的整数,自增长,主键,不为空)
name字段(数据类型为varchar(20),默认值为空)
age字段(数据类型为tinyint,不为负数;默认值为0)
height字段(数据类型为decimal(5,2);默认值为0.0)
gender字段(数据类型为enum,其中包括男,女,保密)
查看创建学生表、查看表结构
代码:
create table students(
id int unsigned primary key auto_increment not null,
name varchar(20) default '',
age tinyint unsigned default 0,
height decimal(5,2),
gender enum('男','女','保密')
);
show create table students;
desc students;
案例
创建班级(classes)表
id字段(不为负的整数,自增长,主键,不为空)
name字段(数据类型为varchar(20),默认值为空)
班级表中增加字段(course varchar(20) comment "课程")
修改班级表中course字段(将course字段改为courses)
删除courses字段
代码:
create table classes(
d int unsigned primary key auto_increment not null,
name varchar(20) default ''
);
alter table classes add course varchar(20) comment "课程";
alter table classes change course courses varchar(20);
alter table classes drop courses;
CREATE TABLE userinfo(
id int PRIMARY KEY AUTO_INCREMENT,
username varchar(20) NOT NULL,
password varchar(50) NOT NULL,
real_name varchar(10) NOT NULL,
age int CHECK(age>0),
sex char(3),
birth_day date,
is_actived int DEFAULT 1,
regis_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
INSERT INTO userinfo VALUES(1,"小明","md5加密后的密码","真实姓名",)