MySQL管理服务的命令(启动、停止、重启)
启动
service mysql start
停止
service mysql stop
重启
service mysql restart
mysql的约束主要有哪些?请说明
主键primary key
主键约束要求主键列的数据唯一,并且不允许为空。主键能够唯一地标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度,并且可以加快数据库查询的速度。主键和记录之间的关系如同身份证和人之间的关系,他们是一一对应的。
非空not null
非空约束指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统会报错。
惟一unique
唯一性约束要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。
默认default
默认约束指定某列的默认值。如男性同学较多,性别就可以默认为‘男’。如果插入一条新的记录时没有为这个字段赋值,那么系统会自动为这个字段赋值为‘男’
外键foreign key
如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的。
MYSQL命令 创建数据库
create database 数据库名 charset=utf8;
MYSQL命令 删除数据库
drop database 数据库名;
MYSQL命令 切换数据库
use 数据库名;
MYSQL命令 查看当前选择的数据库
select database();
MYSQL命令 查看当前数据中所有表
show tables;
MYSQL命令 修改表
alter table 表名 add|change|drop 列名 类型;
MYSQL命令 删除表
drop table 表名;
MYSQL命令 查看表结构
desc 表名;
MYSQL命令 更改表名
rename table 原表名 to 新表名;
MYSQL命令 查看表的创建语句
show create table '表名';
MYSLQ命令 查询表所有内容
select * from 表名
MYSQL命令 全列插入、缺省插入、插入多条SQL命令
全列插入:insert into 表名 values(...)
缺省插入:insert into 表名(列1,...) values(值1,...)
同时插入多条数据:insert into 表名 values(...),(...)...; 或insert into 表名(列1,...) values(值1,...),(值1,...)...;
MySQL命令 修改内容
update 表名 set 列1=值1,... where 条件
MySQL删除内容
delete from 表名 where 条件
MYSQL命令 消除重复行
select distinct 字段名 from 表名;
MySQL命令 假设有一个学生表students,查询所有id不大于4编号的学生
select * from 表名 where id<=4;
假设有一个学生表students,查询所有sname字段内容不是‘黄蓉’的学生
select * from students where sname!='黄蓉';
假设有一张学生表students,查询id大于3的女同学(性别字段为:gender,1为男,0为女)
select * from students where id>3 and gender=0;
假设有一张学生表students,查询所有sname字段姓‘黄’或者‘靖’的学生
select * from students where sname like '黄%' or sname like '%靖%';
假设有一张学生表students,查询没有填写地址的学生(地址字段为:hometown)
select * from students where hometown is null;
写出5种聚合函数
max()
min()
sum()
avg()
count()
假设有一张学生表students,查询未删除的学生最小编号(isDelete=0为未删除,编号为id)
select min(id) from students where isdelete=0;
假设有一张学生表students,查询学生总人数
select count(*) from students;
MySQL和python交互需要引入什么模块
pymysql模块
网友评论