Mysql数据库的基本操作

SQL的常用操作

一、登录

以管理者身份进入cmd

登录语句

mysql -uroot -p1234

二、库的相关操作

创建数据库

create database 数据库名称;

查看已有数据库

show databases;

删除数据库

drop database 数据库名称;

切换数据库:在使用之前需要先进入到要操作的数据库中

use 数据库名称;

三、表的基本操作

创建数据表,创建数据表时要注意对一些条件的约束

create table 表名(字段名,数据类型 , 字段名,数据类型...);

这是一个最基础的sql建表语句
CREATE TABLE t_user  
(  
    id INT,  
    username VARCHAR(32),  
    password VARCHAR(32),  
    phone VARCHAR(11)  
); 

查看所有数据表

show tables;

查看表的字段信息

desc 表名;

修改表名

alter table student rename stu;

删除数据表

drop table 表名;

修改表的字段名,属性名不修改也不能为空,不变即可

alter table student change  name sname varchar(20);

修改字段数据类型

alter table stu modify sname int;

指定位置添加新属性

alter table 表名 add 新属性名 数据类型 [约束条件] [first|after] 已存在的属性名;

改变属性的位置

alter table 表名 modify 属性1 数据类型 first|after 属性2;

删除字段

alter table 表名 drop 属性名;

三、对元组的操作

插入单条数据

insert into 表名 (属性名) values (内容);

插入多条数据

insert into 表名 (属性名) values (内容1),(内容2),(内容3);

在用逗号分割的文件中读取数据插入表

load data local infile '文件名' into 表名 character set gdk fields terminated by ',';

更新表中元组数据

update 表名 set 字段名1=内容1,字段名2=内容2 where 过滤条件;

删除指定元组数据

delete from 表名 where 条件语句;
示例:
delete from product where product.model NOT IN (SELECT model FROM printer );

四、数据表的约束

1.主键约束(主键可以有多个)

主键指的是表中一列或者多列的组合,Primary key constraint 要求主键列的数据唯一,并且不为空。主键可以唯一的标识表中的每一条数据,可以结合外键来定义与不同数据表的关系(通过外键约束完成)。

主键可以由多字节联合组成,下列方法二中就是多字节联动作为主键。

方法一:
create table student(
id int primary key,
name varchar(20)
);

方法二:
create table student01(
id int
name varchar(20),
primary key(id,name)
);

2.外键约束

含义:外键约束是用来在两个表的数据之间建立连接,它可以是一列或者多列,一个表中可以有一个或多个外键。

3.非空约束

字段名 数据类型 NOT NULL;

4.默认值约束

示例:
create table student03(
id int,
name varchar(20),
gender varchar(10) default 'male'
    #gender这个值就默认是male
);

MySQL 中常用的约束:

NOT NULL约束:确保某列不能有 NULL 值。

DEFAULT 约束:当某列没有指定值时,为该列提供默认值。

UNIQUE 约束:确保某列中的所有值是不同的。

PRIMARY Key 约束:唯一标识数据库表中的各行/记录。

CHECK 约束:CHECK 约束确保某列中的所有值满足一定条件。

约束条件 说明
PRIMARY KEY 主键约束用于唯一标识对应的记录
FOREIGN KEY 外键约束
NOT NULL 非空约束
UNIQUE 唯一性约束
DEFAULT 默认值约束,用于设置字段的默认值

数据库题解(一些想不出来的操作)

1.删除某一行的中文数据

delete from tablename where length(maker)!=char_length(maker);

2.请将型号不在printer中的型号对应的元组从product表删除

delete from prodect from where prodect.model not in (select model from priter);

3.需要对数据进行排序时可以在末尾加上 order by …;

select price from pc where price<1000 order by price;

4.查询有同样处理速度和内存大小的pc对(只需给出对应的model对,显示为 modela modelb,按前面的modela,modelb排序,),每对只列表1次,即:(i,j)给出了则不给出(j,i)

select pca.model as modela,pcb.model as modelb  from pc as pca,pc as pcb  where pca.speed=pcb.speed and pca.ram=pcb.ram and pcb.model < pca.model order by modela;

5.找出恰好出售2种型号的PC的厂商

select maker from pc natural join project group by maker having count(model)=2;
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值