1.1 什么是数据库
存储数据的仓库
存储的介质 硬盘和内存
1.2数据库的分类
关系型数据库(sql) 非关系型数据库(nosql)
(存储到内存中,读取快) 断电易丢失数据
1.3数据库产品 DBMS
oracle:大型数据库
mysql:中型数据库
access:小型数据库
1.4 dbms sql 之间的关系
dbms-->执行(sql)-->操作(db)
1.5 数据库的基本组成单元
表:可读性强
___________________________________________________________________________________
注释:单行注释+多行注释
show databases; use+ 数据库名后, show tables
create database+数据库名称; create table+表名(字段1 字段类型,...)
drop database+数据库名称; drop table+表名; drop table if exists 表名;
delete from product where product_name='勺子';
select database(); select version(); select * from product;
select product_name,product_id,sale_price from product;
from product;
describe/desc+表名称 select * from+表名 前者查看表结构的定义
(field:字段名称 type:字段类型 null:可不可以为空 key:主外键 default:默认值
extra:附加条件)
rename table to ; & rename table 表1 to 表2
alter table drop ;
alter table add column [约束];
alter table change ;
update product set purchase_price = 10 where product_name= '勺子';
insert into 表名(字段1,字段2,字段3...) values(值1,值2,值3......);
insert into 表名(字段2,字段1,字段3...)
汇总写法----往表中插入记录:
1.insert into product values('0001','T恤衫'.'衣服',350,300,'2009-09-11');
2.insert into product values('0002','打孔器','办公用品',500,300,'2009-09-20');
汇总1.2,结果为: insert into product values('0001','T恤衫','衣服',350,300,'2009-09-11'),('0002','打孔器','办公用品',500,300,'2009-09-20');
ctrl+c 终止一条正在写的sql; 适用于mysql
查询mysql数据库中所有的表名
select table_name from information_凡内训1; (???)
获取mysql数据库表表头所有字段
select column_name from information_ (???)
___________________________________________________________________________________
存储的介质:硬盘和内存
数据库的分类:
关系型数据库(sql) :可观,浪费内存 & 一般选择
非关系型数据库(nosql):存储速度快,断电丢失数据
数据库的产品:
知识点:修改表中的默认值
在创建表的时候设置默认值
语法结构:
创建表student,包含字段id/name/age/sex, 并且给age设置默认值为18,性别设置为'女'
create table student(id int,name varchar(6),age int default 18,sex char(1) default'女');
当有默认值的时候,可以省略被设置默认值的字段,当插入数据包含默认值字段时,新值会代替默认值.
insert into student(id,name) value(001,'张美丽');
应用:
插入李帅的数据id为002 性别为男
插入王俊的数据id为003 年龄为30
insert into student(name,id,sex) values('李帅',002,'男');
insert into student(name,id,age) values('王俊',003,30);
出题应用:
create table xgmoren('修改默认值' varchar(10), '设置对象' varchar(10) default '字段');
create table xgmoren('修改默认值' varchar(10), '设置对象' char(2) default '字段');
create table xgmoren(修改默认值 varchar(10), 设置对象varchar(10) default '字段'); × 错1.空格 错2.字段名不加引号
create table xgmoren(修改默认值 varchar(10), 设置对象 varchar(10) default '字段'); √
create table xgmoren(修改默认值 varchar(10), 设置对象 char(2) default '字段');
insert 修改默认值 values('字段');×
insert into 修改默认值 values('字段');×
insert into xgmoren(修改默认值) values('字段');√
insert into xgmoren(修改默认值,设置对象) values('字段','非字段');√
__________________________________________________________________________________
知识点: 表的复制及批量插入-- 复制整张表
语法:create table 新表名 as select * from 旧表名;
应用:复制表student, 新表名为stu;
create table stu as select * from student;
出题应用:
create table xiugaimorenzhi as select* from xgmoren;
___________________________________________________________________________________
表的复制及批量插入--复制表中的部分字段
语法:create table 新表名 as select 旧表名中的字段名 from 旧表名;
应用:复制student表中id和name字段,复制到stu1
create table stu1 as select id,name from student;
出题应用:
create table xiugaimorenzhi1 as select 修改默认值 from xiugaimorenzhi;
___________________________________________________________________________________
删除数据---删除部分数据(慎用!!)
语法:delete from 表名 where 条件; 不写where后面的条件默认删除整张表的数据
应用:将student 表中id为3的记录删除
delete from student where id=3;
删除整个表的数据
delete from stu1;
出题应用:
delete from xiugaimorenzhi where 设置对象='非字段';
变为了
_______________________________________________________________________
知识点:删除大表
一张表中的数据量特别大的时候,delete语句的删除效率极低,虽然删除了数据,没有释放真实的空间.可以回滚;
如果要高效的删除,并且确定表中的数据确实不要了,可以使用truncate,使用truncate删除表之后.空间会立即释放,但表结构还在.
语法:
应用:举例txt
& delete 是修改-删除 表中数据
drop 是修改-删除 表中结构
truncate xiugaimorenzhi;
如图,表在,表结构在,但是数据没有了
___________________________________________________________________________________
知识点:修改字段(列)名
语法:alter table 表名 change column 旧字段名 新字段名 字段类型
应用:将newstu表中的id字段改成sid
alter table newstu change column id sid int;
& 区分修改字段类型和修改字段名
出题应用
alter table xiugaimorenzhi1 change column 修改默认值 修改默认值1 varchar(8);