首页 > 代码库 > 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)
);
听课笔记:
- 主表不能随便删除,先删除从表再删除主表
- 如果连续重复运行两遍就会出现
[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
听课笔记:
- 重复运行后可能出现错误,因为重复运行执行代码后的 表可能已经不是原来在表
课外补充:
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)