首页 > 代码库 > TSQL语句和CRUD(20161016)

TSQL语句和CRUD(20161016)

上午

TSQL语句

1.创建数据库

create database test2;

2.删除数据库

drop database test2;

 

3.创建表

create table ceshi

(

      ids int auto_increment primary key,

      uid varchar(20),

      name varchar(20),

      class varchar(20),

      foreign key (class)  references class(code)

);

create table class

(

      code varchar(20) primary key,

      name varchar(20) not null

);

 

**自增长 auto_increment

**主键 primary key

**外键 foreign key (列名)  references 主表名(列名)

**非空 not null

 

4.删除表

drop table ceshi;

 

注意:

1.类型包含长度的在类型后面加括号,括号里面写长度

2.上一列写完加逗号

3.最后一列不要写逗号

4.在每一条SQL语句写完之后要加分号

5.如果有外键关系,先创建主表

 

 

 

创建表:

create table class

(

      code varchar(20) primary key,

      name varchar(20)

);

create table student

(

      code varchar(20) primary key,

      name varchar(20),

      sex bit,

      age int,

      class varchar(20),

      foreign key (class) references class(code)

);

create table kecheng

(

      code varchar(20) primary key,

      name varchar(20)

);

create table teacher

(

      code varchar(20) primary key,

      name varchar(20)

);

create table chengji

(   

      ids int auto_increment primary key,

      scode varchar(20),

      kcode varchar(20),

      degree float,

      foreign key (scode) references student(code),

      foreign key (kcode) references kecheng(code)

);

create table tkecheng

(

      ids int auto_increment primary key,

      tcode varchar(20),

      kcode varchar(20),

      foreign key (kcode) references kecheng(code),

      foreign key (tcode) references teacher(code)

);

 

听课笔记:

  1. 主表不能随便删除,先删除从表再删除主表
  2. 如果连续重复运行两遍就会出现

[Err] 1050 - Table ‘class‘ already exists

这是因为添加了重复列,保存后查看表是否有问题即可

 

下午:

CRUD

1.注释语法:--,#

2.后缀是.sql的文件是数据库查询文件

3.保存查询时保存的是代码(TSQL语句),查询执行成功后,表已经建立

4.在数据库里面 列有个名字叫字段   行有个名字叫记录

 

CRUD操作:

create 创建(添加)

read 读取

update 修改

delete 删除

 

1、添加数据

insert into Info values(‘p009‘,‘张三‘,1,‘n001‘,‘2016-8-30 12:9:8‘) ;

给特定的列添加数据

insert into Info (code,name) values(‘p010‘,‘李四‘);

自增长列的处理

insert into family values(‘‘,‘p001‘,‘数据‘,‘T001‘,‘数据‘,1);

 

insert into 表名 values(值)

 

2、删除数据

删除所有数据

delete from family

删除特定的数据

delete from Info where code=‘p001‘

 

delete from 表名 where 条件

 

3、修改数据

修改所有数据

update Info set name=‘徐业鹏‘

修改特定数据

update Info set name=‘吕永乐‘ where code=‘p002‘

修改多列

update Info set name=‘吕永乐‘,sex=1 where code=‘p003‘

 

update 表名 set 要修改的内容 where 条件

 

4、读取数据

(1)简单读取,查询所有列(*)  所有行(没有加条件)

select * from Info

(2)读取特定列

select code,name from Info

(3)条件查询

select * from Info where code=‘p003‘

(4)多条件查询

select * from Info where code=‘p003‘ or nation=‘n002‘ #或的关系

select * from Info where sex=0 and nation=‘n002‘ #与的关系

(5)关键字查询(模糊查询)

查所有包含奥迪的汽车

select * from car where name like ‘%奥迪%‘; #百分号%代表任意多个字符

查以‘皇冠‘开头的所有汽车

select * from car where name like ‘皇冠%‘;

查询汽车名称中第二个字符是‘马‘的

select * from car where name like ‘_马%‘; #下划线_代表任意一个字符

(6)排序查询

select * from car order by powers  #默认升序排列

select * from car order by powers desc #升序asc 降序 desc

先按brand升序排,再按照price降序排

select * from car order by brand,price desc

 

听课笔记:

  1. 重复运行后可能出现错误,因为重复运行执行代码后的      表可能已经不是原来在表

 

课外补充:

 

MySQL 添加列,修改列,删除列

 

  ALTER TABLE:添加,修改,删除表的列,约束等表的定义。

  查看列:desc 表名;

  修改表名:alter table t_book rename to bbb;

  添加列:alter table 表名 add column 列名 varchar(30);

  删除列:alter table 表名 drop column 列名;

  修改列名MySQL: alter table bbb change nnnnn(原来列名) hh(修改后列名) int(类型);

修改列名SQLServer:exec sp_rename‘t_student.name‘,‘nn‘,‘column‘;

  修改列名Oracle:lter table bbb rename column nnnnn to hh int;

  修改列属性:alter table t_book modify name varchar(22);

  sp_rename:SQLServer 内置的存储过程,用与修改表的定义。

  mysql修改、删除数据记录

  mysql数据库相信很多人都接触过,在进行mysql数据库的操作的时候,有人就希望删除或者修改mysql数据库中的一些数据记录。

  mysql数据库相信很多人都接触过,在进行mysql数据库的操作的时候,有人就希望删除或者修改mysql数据库中的一些数据记录。DELETE 和UPDATE 语句令我们能做到这一点。

  用update修改记录

  UPDATE tbl_name SET 要更改的列

  WHERE 要更新的记录

  这里的 WHERE 子句是可选的,因此如果不指定的话,表中的每个记录都被更新。

  例如,在pet表中,我们发现宠物Whistler的性别没有指定,因此我们可以这样修改这个记录:

  mysql> update pet set sex=’f’ where name=” Whistler”;

  用delete删除记录

  DELETE 语句有如下格式:

  DELETE FROM tbl_name WHERE 要删除的记录

  WHERE 子句指定哪些记录应该删除。它是可选的,但是如果不选的话,将会删除所有的记录。这意味 着最简单的 DELETE 语句也是最危险的。

  这个查询将清除表中的所有内容。一定要当心!

  为了删除特定的记录,可用 WHERE 子句来选择所要删除的记录。这类似于 SELECT 语句中的 WHERE 子句。

  mysql> delete from pet where name=”Whistler”;

  可以用下面的语句清空整个表:

  mysql>delete from pet;

 

作业:

create table class

(

      code varchar(20) primary key,

      name varchar(20) not null

);

create table ceshi

(

      ids int auto_increment primary key,

      uid varchar(20),

      class varchar(20),

      foreign key(class) references class(code)

     

);

 

测试 列 的修改

#alter table ceshi add column name varchar(20);

#alter table ceshi drop column uid;

alter table ceshi change name sex bit;

 

TSQL语句和CRUD(20161016)