传智播客—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
相关文档:
如何用SQL语言选择表中的第二条第三条第N条记录
--ID为唯一性就行了
select top 1 * from table
where ID not in(select top 1 ID from table)--第2条
select top 1 * from table
where ID not in(select top 2 ID from table)--第3条
......
SQL Server 2005相对于SQL Server 2000来说,无论是性能还是功能都有一个相当大的提高,甚至可以用“革命”来形容这一次升级。SQL Server 2005使 SQL Server 跻身于企业级数据库行列。在数据高可用性方面,SQL Server 2005为用户提供了数据镜像、复制、故障转移群集、日志传送功能。本文向读者简单介结SQL Serve ......
windows 集成验证:
<connectionStrings>
<add name="ConnectionStr" connectionString="Data Source=CAIPENG-PC;database=Test;Integrated Security=SSPI" providerName="System.Data.SqlClient"/>
</connectionStrings>
或者
<connectionStrings>
<add name=" ......
最近很忙,有个项目马上要招标,一个项目等着工,若干琐碎的事进行中,有一段时间没更新些有营养的东西了
说个题外话先。
今天开机准备把昨天的东西debug一下,很习惯地右键项目的启动文件开始debug,机器突然蓝屏重启。开始以为又是内存在偷偷超频,检查了一下bios,发现没什么问题,也没怎么在意,隧重新开启vs2008继续 ......
定义:
create table 表名(列名1 类型 [not null] [,列名2 类型] [not null],···) [其他参数]
修改:
alter table 表名 add 列名 类型
alter table 表名 rename column 原列名 to 新列名
alter table 表名 alter column 列名 类型 [(宽度) [,小数位]]
alter table 表名 drop column 列名
......