mysql数据库命令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.对数据库常用命令

1.连接数据库

mysql -u用户名 -p密码

2.显示已有数据库

show databaxxxxses;

3.创建数据库

create databaxxxxse sqlname;

4.选择数据库

use databaxxxxse sqlname;

5.显示数据库中的表(先选择数据库)

show tables;

6.显示当前数据库的版本信息以及连接用户名

select version()user();

7.删除数据库(删除时没有提示直接删除)

drop databaxxxxse sqlname;

2.数据库中对表的命令

1.创建表

(1)语法:

create table tablename(

字段1 数据类型字段属性

字段n

);

(2)注意:

1.创建表时为了防止与保留字冲突,用’'括起来

2.单行注释:#…

多行注释:/…/

3.创建表时多字段中间用英文逗号隔开,最后一行不用逗号。

(3) 字段约束和属性

1.非空约束not null(字段不允许为空)

2.默认约束default(设置默认值)

3.唯一约束unique key(uk)(设置字段的值是唯一的,可为空,但只能有一个空值)

4.主键约束primary key(pk)(作为表记录的唯一标识)

5.外键约束foreign key(fk)(用于两个表之间建立关系,需要指定引用主表的哪一字段。在数据库的存储引擎中InnoDB支持外键,MyISAM不支持外键。

作为外键的字段要求是主表中的主键(单字段主键))

添加外键约束:

CONSTRAINT FK_外键名 FOREIGN KEY(字表中外键字段)REFERENCES 关联表名 (关联字段)。

grandid作为字表的外键

1.设置自增auto_increment=n从n开始。

2.设置自增set @@ auto_increment_increment=m步长为m。

3.多字段设置主键:primary key(字段1,字段2…字段n)

4.表中的注释/说明性文字:)comment=“说明文字”;

5.设置字符集:)charset=“字符集”;

6.查看表的结构:describe’表名’/desc 表名

7.查看数据库定义:show create databaxxxxse sqlname;

8.查看数据表定义:show create table tablename;

9.查看默认存储引擎:show variables like’storage_engine%’;

11.指定表的存储引擎:)engine=存储引擎;

10.删除表:drop table ‘tablename’;

11.获取当前日期:now();

12.修改表:

(1)修改表名:alter table 旧表名 rename 新表名;

(2)添加字段:alter table 表名 add 字段名数据类型…;(添加新的字段)

(3)修改字段:alter table 表名 change 原字段名新字段名数据类型…;

(4)删除字段:alter table 表名 drop 字段名;

(5)在创建完表以后添加主键约束:

alter table 表名 add constraint 主键名 primary key 表名(主键字段);

(6)创建完表以后添加外键约束(作为外键的字段要求是主表中的主键(单字段主键)):

alter table 表名 add constraint 外键名 foreign key(外键字段) references 关联表名 (关联字段);插入数据

1.插入单行数据:

insert into 表名 (字段名列表(逗号隔开)) values(值列表(逗号隔开));

2.插入多行数据:

insert into 表名(字段名列表) values (值列表1) … (值列表n);

3.将查询结果插入到新表中:

create table 新表(select 字段1 … from 原表);

查询student表中的id,name,sex,phone数据插入到newstudent表中:

CREATE TABLE newstudent(SELECT id`name`sexphone FROM student);

3.更新数据(修改数据):

update 表名 set 列名=更新值 where 更新条件;

修改newstudent表中id=1001的数据名字为tom:

UPDATE newstudent SET `name`='tom' WHERE id=1001;

4.删除数据

(1)delete from 表名 where 删除条件;

delete 删除的是整条数据,不会只删除单个列。

删除newstudent表中名字为tom的数据:

DELETE FROM newstudent WHERE `name`='tom';

(2)truncate table 删除数据:

truncate table 删除的是表中所有的行,但表的结构,列,约束,索引等不会改变。不能用于

有外键约束的表。删除数据不能恢复。

truncate table 表名 where 删除条件;

数据查询

1.使用select查询

select 列名/表达式/函数/常量 from 表名 where 查询条件 order by 排序的列名asc/desc;

(1)查询所有的数据行和列:

select * from 表名;

(2)查询部分行和列:

select 列名… from 表名 where 查询条件;

(3)在查询中使用列的别名:

select 列名AS新列名 form 表名 where 查询条件;

计算,合并得到新的列名:

select 列名1+’.’+列名2 AS新列名 from 表名;

(4)查询空值:

通过is null或者is not null判断列值是否为空

查询student表中Email为空的学生姓名:

SELECT `name` FROM student WHERE Email IS NULL;

2.分组查询

#查询不同课程的平均分,最低分,最高分并查询出平均分大于80分的课程SELECT r.subjectnosub.`SubjectName` 课程名称AVG(StudentResult) 平均分

MAX(StudentResult) 最高分MIN(StudentResult) 最低分

FROM result r INNER JOIN `subject` sub

ON r.`SubjectNo`=sub.`SubjectNo`

GROUP BY r.subjectno

#where AVG(StudentResult)>=80出现错误,

#分组查询group by 在where语句后,

相关文档
最新文档