查看有怎么着数据库:

SHOW DATABASES;

数据库编制程序题

1、

姓名

日期

是否上班

张三

星期二

张三

星期三

李四

星期一

王五

星期二

张三

星期二

 

写出一条SQL语句输出下列结果

姓名

星期一

星期二

星期三

张三

 

2

1

李四

1

 

 

王五

 

1

 

答案:

select t.name,SUM(Case when t.date=’星期一’ then 1 else 0 end) As 星期一,

SUM(Case when t.date=’星期二’ then 1 else 0 end) As 星期二,

SUM(Case when t.date=’星期三’ then 1 else 0 end) As 星期三

from t_it_work t

Group by t.`name`

 

区别:

创制,删除数据库:

CREATE DATAABASE mydb;

DROP DATABASE mydb;

(1)#将盛传的数量都真是四个字符串,会对自动传入的数目加三个双引号。如:order
by #user_id#,即使传入的值是id,则分析成的sql为order by “id”。

翻开有何表:

SHOW TABLES;

(2)$将盛传的数额直接展现生成在sql中。如:order by
$user_id$,若是传入的值是id,则深入分析成的sql为order by id。

创建,删除表:

CREATE TABLE test (id INT,
name VARCHAR(20),
sex BOOLEAN
);

 DROP TABLE mytb;

(3)#核心在十分大程度上可防止范sql注入。

查看表结构:

DESC TABLE mytb;

SHOW CREATE TABLE mytb; //查看详细信息

(4)$情势无法防卫sql注入。

设置表的主键:

CREATE TABLE mytb1 (id INT PRIMARY KEY,
name VARCHAR(20),
sex BOOLEAN
) //常见单字段主键


CREATE TABLE mytb2 (id INT,
name VARCHAR(20),
sex BOOLEAN,
PRIMARY KEY(id,name)
)//创建多字段主键,id,nane两者的组合可以确定唯一的一条记录

(5)$方式平时用于传入数据库对象,举个例子传入表名。(这里得注意SQL注入难点

设置,删除表的外键:

CREATE TABLE mytb3 (id INT,
name VARCHAR(20),
sex BOOLEAN,
CONSTRAINT c_fk FOREIGN KEY(id,name)
    REFERENCES mytb2(id,name)
)

ALTER TABLE user DROP FOREIGN KEY c_fk;

子表的外键关联必得是父表的主键,並且数据类型必须风度翩翩律。

(6)一般能用#的就别用$。

 修正表名,字段类型

ALTER TABLE mytb3 RENAME user; //修改表名

ALTER TABLE user MODIFY sex  VARCHAR(30);// 修改字段数据类型

ALTER TABLE user CHANGE sex course INT;//修改字段名;旧属性名,新属性名,新数据类型

 

ps:在选择mybatis中还超出<![CDATA[]]>的用法,在该符号内的口舌,将不会被当成字符串来拍卖,而是径直当成sql语句,比方要实行多个囤积进程。

澳门微尼斯人手机版,新增字段:

ALTER TABLE user ADD course_id INT NOT NULL FIRST[AFTER 属性名];

 

删去字段:

ALTER TABLE user DROP course_id;

小结差距:#{}
传入值时,sql拆解剖判时,参数是带引号的,而${}穿入值,sql深入分析时,参数是不带引号的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注