传智播客—SQL入门
今天可以换换脑子了,丢掉eclipse,玩玩sql了,虽然只是在命令行窗口
先说一下今天我遇到的问题吧,开始按照老师的部署,做的都很顺利,但是当建立好数据库之后,建立表结构的时候就出错了,原因是在配置mysql的时候,权限配置错了,所以说千里之堤毁于蚁穴,害的我整了一个中午,这时提示的错误是ERROR 1005: Can't create table (errno: 121),出现这个错误还有一种可能就是外关键字名字重复的错误,即使是在不同的表中,外关键字的名字也不能重复。
还有一种错误提示的是150的错误,这类错误包括3种情况:
1. 外键和被引用外键类型不一样,比如integer和double
2. 找不到要被引用的列
3. 表的字符编码不一样
哈哈,把所有的错误尽可能的让他暴露出来
当你把数据库都配置好了之后,进入命令行窗口,输入mysql -u root -p 这时会提示你输入password,我设置的是root,然后输入show databases;如果出现database的目录就对了,注意这里要输入“;”一般情况下,它只有碰到分号才会执行你输入的语句。
很多人分不清数据库服务器、数据库和表的关系,现在就简述一下:
一个数据库服务器可以管理多个数据库,一般一个应用程序对应于一个数据库;
一个数据库可以管理多个表,每个表一般对应于一个实体;
表为数据的实际存储位置。
由于以后会频繁的跟数据库打交道,所以对数据库的增删改查还是很重要的,授人以鱼不如授人以渔,下面就说一下它们的声明
查询表中信息
SELECT [DISTINCT] *|{column1, column2. column3..} from table;
向表中插入信息
INSERT INTO table [(column [, column...])] VALUES (value [, value...]);
update语句
UPDATE tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] ;
删除语句
delete from tbl_name [WHERE where_definition];
这里要注意一个问题(差点忘记了,在设置字符集的时候,比如是UTF-8,在设置的时候是没有“-”的):
下面就举个的例子吧:
//创建一个数据库
create database mydb character set utf8 collate utf8_general_ci;
show databases;
use mydb;
//创建一个表结构
create table employee
(
id int,
name varchar(40),
sex varchar(10),
birthday date,
entry_date date,
job varchar(100),
salary double,
resume text
)character set utf
相关文档:
1.查找重复数据表的id以及重复数据的条数
select max(id) as nid,count(id) as 重复条数 from tableName
group by linkname Having Count(*) > 1
2.查找重复数据表的主键
select max(id) as nid from tableName
group by linkname Having Count(id) > 1
3.删除重复的数据
delete from table ......
(1) Connect to the Analysis server, select the database which we want it to be automatically processed. Right click on this database, choose ‘Process’:
(2) In the opening ‘Process database’ form, click the ‘Script Action ......
改善SQL语句
很多人不知道SQL语句在sql server中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如:
select * from table1 where name=''zhangsan'' and tID > 10000
和执行:
select * from table1 where tID > 10000 and name=''zhangsan''
一些人不知道以上两条语句的执行效率是否一 ......
聚集索引的重要性和如何选择聚集索引
在上一节的标题中,笔者写的是:实现小数据量和海量数据的通用分页显示存储过程。这是因为在将本存储过程应用于“办公自动化”系统的实践中时,笔者发现这第三种存储过程在小数据量的情况下,有如下现象:
1、分页速度一般维持在1秒和3秒之间。
2、在查询最后一页时, ......