SQL 结构化的查询语句
我们现在需要写SQL语句 --- 这个玩意儿就是数据库的操作语句我们的数据库就类似于一个excl表格它有n列,每一列为一个大类,数据以行存在,一行代表一个条目数据如:我现在想建立一个数据库保存学生的信息你需要保存名字 年龄 地址数据库就是名字为一列 年龄为一列 地址为一列张三 30 王八屯张三就放在名字这一列30放在年龄这一列王八屯放在地址这一列张三 30 王八屯为一行数据SQL语句的命令可以大写也可以小写,SQL语句一定要以;号结尾
1 创建一个表(一个数据库可以有多个表)CREATE TABLE/create table CREATE TABLE 表名(列名1 数据类型 约束条件,列名2 数据类型 约束条件,......);eg:CREATE TABLE student(name 文本型 不能是空的,age 整数 18岁以上.......);数据类型:表名我们这一列的数据是一个什么类型integer(int[4]) 整数real 实型text 文本类型null 空类型blob 二进制类型约束条件:用来约束这列数据的primary key 主键 -> 它是唯一的,用于代表这一行数据not null 不空unique 唯一check 检查default 默认foreign key 外键 -> 外键是链接到另外一个地方去的,链接过去的地方出现了才能在这里出现外键默认是关闭的我要维护学生的信息,如:id name age addrcreate table student(id integer primary key,name text not null,age integer check(age>18),addr text default "china");CREATE TABLE student(id INTEGER PRIMARY KEY,name TEXT NOT NULL,age INTEGER CHECK(age>18),addr TEXT DEFAULT "china");.tab 查看这个数据库有哪些表2 插入信息INSERT INTO / insert intoinsert into 表名(列名1,列名2....) values(值1,值2,.....);
eg:insert into student(id,name,age,addr)values(1001,'penglei',19,'changsha');insert into student(id,name,age,addr)values(1003,'liudehua',40,'xiangguang');insert into student(id,name,age)values(1002,'zhangxueyou',36);insert into student(id,name,age,addr)values(1004,'guofucheng',50,'xiangguang');3 查询数据select 列名1,列名2... from 表名;select id,name,age from student;select * from student; 查询所有的select 列名1,列名2... from 表名 where 条件; 条件是为了进行限制的条件:列名 运算符 值运算符:= > < >= <= !=连接多个条件:and orselect * from student where id>1000 and addr='changsha';4 更新数据update 表名 set 列名=新的值 where 条件; 条件可以不用给update student set addr='nanchang' where addr='xiangguang';5 删除数据 删除n行delete from 表名 where 条件;delete from student where id > 1002;6 修改表名alter table 表名 rename to 新的表名;alter table student rename to stu;alter table stu rename to student;7 增加一列alter table 表名 add column 列名 类型 约束条件;alter table student add column sex text check(sex='man' or sex='woman');insert into student(id,name,age,addr,sex)values(1005,'meiyanfang',60,'xianggang','wman');insert into student(id,name,age,addr,sex)values(1006,'songyi',30,'buzhidao','man');没有删除一列如果你有需求删除一列,那么直接弃用这一列就可以了,或者将数据迁移到另外一个表