文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySql数据库操作

2024-04-02 19:55

关注

MySql数据库操作

 

–登录MySql:——–

Windows环境进入cmd后输入mysql –h localhost –u root –p,再输入密码就可以启动mysql;其中localhost是mysql服务器所在的ip如果是本机可以用localhost。

–数据库相关操作——–

create database db_name(数据库名称)建名为db_name的数据库

show databases查看已经存在的数据库

drop database db_name删除名为db_name的数据库

use db_name操作名为db_name的数据库

show tables显示数据库中的表

desc table_name查看表名为table_name的表的结构

– 数据库中表(TABLE)的操作——–

Create table table_name(ID int primary key,NAME varchar(50),AGE int ,SEX varchar(10)):创建表且设置了ID为主键

create table table_name(stu_id int, course_id int,name varchar(20),grade float,primary key(stu_id,course_id)):设置了表中stu_id和course_id两个都为主键

  外键如果表A的某一个属性值依赖于表B的主键则称B为父表A为子表A中的这个字段为A的外键如果父表中的信息改变则对应子表的数据也会改变

  语法create table table_name01(id int primary key,stu_id int,course_id int ,score float,grade int,constraint c_fk(外键别名) foreign key(stu_id,course_id) references table_name02(stu_id,course_id));table_name02是父表table_name01是子表给子表设置了两个外键

  表字段的非空约束create table table_name(id int primary key not null,name varchar(50) not null,stu_id int);设置not null表示字段不能为空也就是非空

  唯一约束指字段中值不能重复create table table_name(id int primary key auto_increment,stu_id int unique,name varchar(20) not null);其中设置了id自动增加且unique设置了stu_id的值必须唯一性不能有相同的值存在

E,为表设置默认值即在没有插入数据的时候会用默认值代替;

Create table table_name(id int primary key auto_increment,stu_id int unique,name varchar(50) not null English varchar(20) default ‘zero’);即为Englist字段设置了默认值为zero;

show create table table_name;查看表的详细结构语句

–表的修改操作——–

  修改表名alter table 旧表名 rename [to] 新表名;把表名更改

  修改字段属性Alter table table_name modify 属性名 数据类型(修改后的类型)

  修改字段alter table table_name change 旧字段名 新字段名 新数据类型

  增加字段alter table table_name add 字段1 数据类型 after 字段2;在字段2后面增加字段1;如果把字段2改成FIRST即加在最前面

  删除字段alter table table_name drop 字段名

  修改字段的位置alter table table_name modify 字段名 First(第一个位置after 字段指定字段的后面)

  更改表的引擎名alter table table_name engine=Mylsam;

  删除表的外键约束alter table table_name drop foreign key 外键别名

  删除表:

9.1:普通的没有关联的表drop table table_name;

9.2:删除有关联的表先用show create table table_name;查看表的详情看到外键的另名,先删除外键再删除表格就可以了。

–数据库的增删改查操作——–

  数据库的增(insert into)删(delete)改(update)查(select)操作

1.添加数据insert into

A增加数据分两种1不指定具体字段名如insert into table_name values(值1值2…)

  指定字段名insert into table_name(字段1字段2….)values(值1,值2….);如果是为指定的字段加数据只需要写出需要加数据的字段即可

  同事插入多条数据insert into table_name [字段列表]values(取舍列表1)(取值列表2)…

  将一个表的数据插入到别个一张表中

Insert into table_name1(字段列表)select (表2字段)from table_name2 where 条件表达式;

2.更新数据(改)操作update

  总体操作是update table_name set 字段1=值1字段2=值2…where条件表达式

  可以对一定范围中的数据更改主要是从where后面的条件来判断

3.删除数据操作delete

delete from table_name where 条件表达式

Delete from table_name;将会删除所有数据;

4.查询数据query

Select 字段名列表 from table_name [where 条件表达式1] [group by 字段名[having条件表达式2]][order by 字段名[ASC(升序)/DESC(降序)]]

  单表查询select 字段名 from table_name where 条件

  带in关键字查询:

  判断某个字段的值是否在指定的集合中是的话就查出来select 字段名或* table_name where 字段名 in(值1值2…..)

  带between and 关键字的查询select *或字段名 from table_name where 字段名 between 值1 and 值2;查找的是范围在值1与值2之间对应的数据;结果是包含两端的值的

  带like的匹配查询一个完整字符串可以加%或;%表示任意长度的字符串如b%k表示以b开头以k对事的任意字符串而只表示单个字符如b_k表示以b开始k结束的3个字符的字符串

  方法select *或字段名 from table_name where 字段名 [not]like 条件;not表示不匹配时

-空值查询 select *或字段名 from table_name where 字段名 is [not]null;即查询[不]为空的数据

and与or的多条件查询select *或字段名 from table_name where 条件1 and 条件2;与 from table_name where 条件1 and 条件2;and表示所以条件都必须成立而or表示只需要其中任何一个条件成立就可以

F,查询结果不重复select distinct 字段名 from table_name;

5.分组查询

  单独用group by 分组结果只会显示一个分组的一条记录:

Select *或字段名 from table_name group by 字段名

group by 和group_concat()函数使用每个分组的所有字段都可以显示

Select 字段名roup_coucat(字段名)from table_name group by字段名

-group by与集合函数使用select 字段名count(字段名)from table_name group by 字段名 having count(字段名) 条件

  多字段分组select * from table_name group by 字段1字段2…

E,group by与with rollup一起用

Select 字段名count(字段名)from table_name group by 字段名 with rollup

6.用limit限制查询数据

Select * from table_name limit a或(limit a,b)前者是显示从第一条到a条数据后者是显示从a条到b条间的数据

7.使用集合函数查询数据

count()统计数据条数:Select count(*) from table_name

sum()求和:Select 字段名sum(字段名) from table_name where 条件

avg()求平均数:Select avg(字段名) from table_name group by 字段名

max与min最大与最小值:Select max(字段名)/min(字段名) from table_name;

8.多表连接查询

- 内连接查询两个以上表中存在意义相同的字段时可以用该字段来连接表进行查询.如:select 字段1字段2字段3…from table_name1,table_name2 where table_name1.字段a=table_name2.字段b

- 外连接查询select 字段列表from table_name01 left/right join table_name02 on table_name01.字段名=talbe_name02.字段名。Letf表示左链接right表示右链接

- 复合条件查询运用多条件精确查询

9.用正则表达式查询

  查询以特定字符开头的记录select * from table_name where 字段名 regexp ‘^a’以a头

  查询以特定字符结束的记录Select * from table_name where regexp ‘xx$;

  用符号“.”来代替字符串中任意一个字符:Select * from table_name where name regexp ‘^l..y$’;

–表或字段取别名——–

  表的别名select * from table_name t where t.字段=值;t就是表的别名

  字段的别名用as关键字如select t_id as 字段id from table_name where t_id=值 ;t_id就是对应字段的别名别名可以同真实名一样使用

–数据库备份——–

mysqldump命令备份mysqldump –u username –p db_name table1,table2….>BackupName.sql;//其中db_name是数据库的名称table1..是表名如果没有表名将备份 整个数据库backupname.sql表示备份文件的名称前面可以加个绝对路径

  备份多个数据库Mysqldump -u username –p –databases db_name1 db_name2… > backupname.sql

  备份所有数据库Mysqldump –u root –p –all-databases > C:\all.sql

  用Mysqlhotcopy工具快速备份

数据库还原Mysql –u root –p < backup.sql//其中backup.sql是保存的数据库文件

以上分享来自兄弟连MySQL数据库培训转载请注明出处。


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯