1.概念:
开源的RDBMS:MySQL,其特点是由行和列组成的二维表来管理数据
2.构成
行称为记录 ,它相当于一条记录 ;
列称为字段 ,代表了表中存储的数据项目 ;
行和列交汇的地方称为单元格;
3.SQL语句分类
DDL:(新手学习可以,业务场景中基本不会涉及到,让我想起了删数据库跑路,哈哈哈)
1)CREATE : 创建
2)DROP : 删除
3)ALTER : 修改
DML:(常用的类型,重点)
1)SELECT :查询
2)INSERT :插入
3)UPDATE :更新
4)DELETE :删除
DCL:(一般的业务人员接触不到这个)
1)COMMIT : 数据变更
2)ROLLBACK : 取消变更
3)GRANT : 赋予权限
4)REVOKE : 取消权限
4.书写原则
1)不区分大小写,(看大写看的头疼)
2)分号结尾
5.实践(对3的实践)
1)数据库创建:
create database <数据库名称>;
2)表创建:
create table product #product为表的名称
#以下创建行列的名称与约束条件,左边为列名,右边为约束条件,
#char 、 varchar :储存长字符串,前面不够就补足,后面是不够不用补足半角字符
#not null为非空值,必须有数据
#integer 整数取值
#date 日期取值
#primary key(列名) 唯一值
(product_id CHAR(4) NOT NULL, product_name VARCHAR(100) NOT NULL, product_type VARCHAR(32) NOT NULL, sale_price INTEGER , DEFAULT 0 #销售单价默认值为0 purchase_price INTEGER , regist_date DATE , PRIMARY KEY (product_id));
3)删除表
drop table 表名 #删除了就无法恢复,删库跑人,哈哈哈
4)添加列
alter table 表名 add column 列名(可添加限制性约束,字符串约束)
5)删除列
alter table 表名 drop column 列名
6)数据更新
update 表名
set 列名(需要修改的列数据)= 列名/10(乘除加减),
列名(需要修改的列数据)= 列名/10(乘除加减),
。。。。。。。。
where 某列=’‘ ; #加限制条件,其他列中特定的值才需要需改
7)插入数据
insert into 表名 (列1 列2 列3 列4 .。。。可以不加这句括号的语法)values(值1 ,值2, 值3 ),(值1 ,值2,值3)
#一行一行数据输入 ,想要插入空值,前提是前面表的设置为可以允许空值约束
8)索引
方法1CREATE INDEX indexName ON table_name (column_name)
方法2ALTER table tableName ADD INDEX indexName(columnName)
练习题答案
1.
create table Addressbook (regist_no integer ,NOT NULL, name VARCHAR(128) NOT NULL, address VARCHAR(256) NOT NULL, tel_no char(10) , mail_address char(20), primary key (regist_no));
2.
alter table Addressbook add column postal_code char(8)
3.
drop table Addressbook
4.
否,可以通过设置权限禁止一般人员删除数据库的权限