数据库语法实例

语法及实例
--------关于数据库的操作--------
1、创建数据库
    create database [if not exists] <数据库名>
    create database school;
    create database if not EXISTS school;
2、使用数据库
    use <数据库名>
    use school;
3、删除数据库
    drop database [if exists] <数据库名>;
    DROP DATABASE if EXISTS qqq;
4、切换数据库
    use <数据库名>;
5、查看数据库
    show databases [like '数据库名']
    show databases;
    show DATABASES like '%s%'

--------关于数据表的操作--------
1、创建表
1.1、单表
    ☆:电脑为例,字段主键,电脑型号,电脑品牌,电脑价格,是否整机,描述
    create table <表名> ([<列名1> <类型1> [,…] <列名n> <类型n>]);
CREATE TABLE t_computer(
    cno INT PRIMARY KEY NOT NULL auto_increment,
    ctype VARCHAR(20) NOT NULL COMMENT '型号',
    cname VARCHAR(20) NOT NULL COMMENT '品牌',
    cprice FLOAT(8,2) NOT NULL COMMENT '价格',
    czj CHAR NOT NULL COMMENT '是否整机',
    cdesc VARCHAR(200) COMMENT '描述'
) COMMENT '电脑';
1.2、多表
1.2.1、1:N
# 班级(主键、班级编号,班级的名称)
# 学生(主键、姓名、学号、班级)
# 下面是班级表
CREATE TABLE t_classes(
    cid INT NOT NULL auto_increment primary KEY,
    cno VARCHAR(10) NOT NULL,
    cname VARCHAR(10) NOT NULL
);
# 下面是学生表
CREATE TABLE t_students(
    sid INT NOT NULL auto_increment PRIMARY KEY,
    sname VARCHAR(10) NOT NULL,
    sno VARCHAR(10) NOT NULL,
    cno VARCHAR(10)
);

    ☆:产品【主键,产品编号,产品名称,产品描述】
     | 订单【主键,订单编号,订单名称,下单日期】

2、修改表
    ALTER TABLE <表名> [修改选项]
2.1、添加表字段
    alter table 表名 add  字段名 类型(值)
    ALTER TABLE t_students_bak ADD sage int;
2.2、删除表字段
    alter table 表名 drop  字段名
    ALTER TABLE t_students_bak DROP sage;
2.3、表字段更名
    alter table 表名 rename 老字段名 to 新字段名
2.4、更改字段类型
    ALTER TABLE t_students_bak RENAME biaoming;(改表名)
    alter table 表名 change 旧字段 新字段 新字段类型;
    ALTER TABLE biaoming CHANGE sname nihao varchar(200);

3、删除表
    drop table [if exists] <表名1> [ , <表名2> , <表名3> …];
    drop TABLE IF EXISTS biaoming,safa,suibian;
--------关于表数据的操作--------
1、增加数据
1.1、单表
insert:
INSERT INTO t_computer VALUE(null,'AMD','惠普(HP)',123.00,0,'他妈的不知道');
INSERT INTO t_computer(ctype,cname,cprice,czj) values('英特尔','联想',122.12,1);

1.2、多表
班级表:
INSERT INTO t_classes VALUES(null,'C001','军火商');
INSERT INTO t_classes VALUES(null,'C002','大帅哥');
INSERT INTO t_classes VALUES(null,'C003','小鲜肉肉');
学生表:
INSERT INTO t_students values(null,'沈强','GY01001','C001');
INSERT INTO t_students values(null,'光头强','GC01002','C002');
INSERT INTO t_students values(null,'熊大','GC01003','C003');

2、查询数据
2.1、单表(含条件)
#查询班级所有的记录
select * from t_classes;
#精确查询某一个班级,如班级编号为C001
select * from t_classes where cno = 'C001'
#查询部分字段
select cno,cname from t_classes;
#查询部分字段(条件—或的关系)
select cno,cname from t_classes WHERE cid=1 or cno = 'c002';
#查询部分字段(条件—且的关系)
select cno,cname from t_classes WHERE cid=1 and cno = 'c002';
#查询班级表中的第N行(1:第一行;n:前n行)
select * from t_classes LIMIT 1;
#查询班级表中的最后一行 先排序后取数 ORDER BY
# 排序有升序(默认 asc)和降序(desc)
         select * from t_classes ORDER BY cid desc limit 1;
#查询cid大于1的所有记录
         select * from t_classes where cid >1;
#按照cid查询区间(在大于1并且小于3的)
         select * from t_classes where cid > 1 and cid < 3;
         select * from t_classes where cid BETWEEN 1 and 3;
2.2、多表(关联关系)
select
    t_classes.cname,
    t_students.sname
FROM 
    t_classes,t_students
WHERE
    t_classes.cno = t_students.cno;

select * from t_students where isdelete = '1'
3、删除数据
***:在工作中我们不采用物理删除的方式删除数据,而是通过增加一个字段用于表示某条数据是否删除,比如0表示未删除,1表示已删除,以后查询数据的时候正常数据得后面都要拼接上标识为1的条件。
alter table t_students add isdelete char(1) DEFAULT 0;
select * from t_students where isdelete = '1'
# 逻辑删除(我们把学号为GC01003学生删除)
update t_students set isdelete = '1' where sno = 'GC01003';

4、修改数据
update table <表名> set 原来的字段 = 新的值 where ?
***:如果不加条件修改的是所有的数据
update t_students set sname = '沈强' where sno = 'GY01001'
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值