(2009-1-15)mysql学习笔记基础篇--第2章:SQL基础

(2009-1-15)mysql学习笔记基础篇--第2章:SQL基础

编辑文章

本文HTML永久地址doc

1.SQL简介

SQL是Structure Query Language(结构化查询语句的缩写,它是使用关系模型的数据库语言

2.SQL使用入门

sql语句主要分为三类别:

  1. DDL(Data Definition Languages)语句:数据库定义语句,这些语句定义了不同的数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括create 、drop、alter等
  2. DML(Data Manipulation Languages)语句:数据操作语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用的语句关键字主要包括insert、delete、update和select等
  3. DCL(Data Control Languages)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别语句。这些语句定义数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括grant、revoke等。

2.1DDL语句

#2.1.1创建数据库
mysql>create database test1;
mysql>create database test1;  < --重新输入会出现错误提示,因为上面一句一句新建了test1数据库
mysql>show databases;
mysql>use test1;
mysql>show tables;
mysql>use mysql;
mysql>show tables;
#2.1.2删除数据库
mysql>drop database test1;
#2.1.3创建表
mysql>create database test1;
mysql>use test1;
mysql>create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));
mysql>desc emp;  < --查看表定义,其输出的信息不够全面,可以使用下面语句查看
mysql>show create table emp \G;    < --"\G"选项的含义是使得记录能够按照字段竖着排列,对于内容比较长的记录更便于显示
#2.1.4删除表
mysql>drop table emp;
#2.1.5修改表
mysql>create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));
mysql>alter table emp modify ename varchar(20);  < --修改表字段类型
mysql>desc emp;
mysql>alter table emp  add column age int(3);       < --增加字段age,类型为int(3)
mysql>desc emp;
mysql>alter table drop cloume age;   < --将age字段删除
mysql>desc emp;
mysql>alter table emp  add column age int(3);
mysql>alter table emp change age age1 int(4);  < --改字段名
mysql>desc emp;
#change和modify都可以修改表的定义,不同的是change后面需要写两次列名,不方便,但是change的优点是可以修改列名称,modify则不能。
#2.1.6修改字段排列顺序
mysql>alter table emp change age1 age int(3);
mysql>desc emp;
mysql>alter table emp add birth date after ename;  < --将新增的birth字段加在ename后
mysql>desc emp;
mysql>alter table emp modify age int(3) first;        < --修改age字段,将其放在最前面
mysql>desc emp;
#change/first/after这些关键字都属于mysql在标准sql上的扩展,在其他数据库上不一定适用。
#2.1.7更改表名
mysql>alter table emp rename emp1;
mysql>desc emp;
mysql>desc emp1;

2.2DML语句

#2.2.1插入记录
mysql>alter table emp1 rename emp;
mysql>alter table emp drop age;  < --删除age字段
mysql>desc emp;
mysql>insert into emp(ename,hiredate,sal,deptno) values('zzx1','2000-01-01','2000',1);
mysql>insert into emp values('lisa','2003-02-01','3000',2);  < --按字段顺序直接插入可空字段,非空字段但是含有默认值的字段,自增字段,可以不用在insert后的字段列表里面出现,values后面只写对应字段的名词的value。这样没写的字段可以自动设置为:NULL,默认值,自增的下一个数字,这样在某些情况下可以大大减少SQL语句的复杂性

没有评论 :

发表评论