Linux环境下的数据库SQL学习

时间:2024-03-13 07:47:18

1.在Ubuntu下安装sqlite3软件

输入sqlite3启动,输入.quit退去

2.SQL语言与命令:

sqlite3+文件名----寻找文件地址

.header on/off 打开/关闭 数据库中列的名称

.mode csv/column/html/insert/line/list/tabs/tcl 

数据库程序:名字.sql

.schema 表名称 查看表名称对应的表的格式(有那几列?每列类型)

.width 宽度 设置显示时的数据宽度

创造数据:

create table 表名称(数据名称:数据类型(字符大小),数据名称:数据类型(字符大小),数据名称:数据类型(字符大小)......)

整数类型:integer

字符类型:varchar

插入数据:

insert into 表名称(列1值,列2值......)

例如:insert into stduent values(10001,"张三","男",18,90);

查看语句:

select *from 表名称 

仔细搜寻:select 列名称 from 表名称 where 列名称 >=<(判断条件)值

                  select 列名称 from 表名称 where 列名称 =“%字%”(寻找含什么字符的数据)

删除语句:

delete from 表名称 where 列名称 判断 条件;

更新语句:

update 表名称 set 列名称=新值 where 列名称=依据值;

排序:

order by

select * from 列名称 order by 排序依据 desc;

主键: 

key:键值
内键:在表中唯一标识一条数据称为内键
外键:与外部表进行标识的数据称为外键 

多表联合查询:


    1.交叉连接
        cross join 

        示例:
        sqlite> select student.name as 学生姓名, lesson.name as 课程名
        ...> from student cross join lesson;
    2.内连接
        inner join 

        示例:
        sqlite> select score.id as 成绩编号, student.name as 学生姓名, score.score as 成绩
        ...> from score inner join student on score.stuid=student.id;
    3.外连接
        outer join 

        示例:
        sqlite> select score.id as 成绩编号, student.name as 学生姓名, score.score as 成绩
        ...> from student left outer join score on score.stuid=student.id;


    示例:
        sqlite> select score.id as 成绩编号, student.name as 学生姓名, score.score as 成绩
        ...> from student left outer join score on score.stuid=student.id
        ...> where name="张三"
        ...> order by 成绩 desc;