NoSQL…
몽고디비 카테고리가 추가되었습니다.
SQL 문을 안쓰는 DB라는 뜻에서 NoSQL 로 불려집니다.
위키를 인용하면
크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다.
어디까지나 새로운 시스템들은 기존의 시스템의 한계와
성능, 트러블슈팅에 대한 문제점을 해결하고자 시작합니다.
더빠르게, 더 많이, 앞으로
개발공부도 더빠르고, 더 많이, ㅋㅋ 시작해봅시다
데이터베이스 위키 – http://ko.wikipedia.org/wiki/데이터베이스
NoSQL…
몽고디비 카테고리가 추가되었습니다.
SQL 문을 안쓰는 DB라는 뜻에서 NoSQL 로 불려집니다.
위키를 인용하면
크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다.
어디까지나 새로운 시스템들은 기존의 시스템의 한계와
성능, 트러블슈팅에 대한 문제점을 해결하고자 시작합니다.
더빠르게, 더 많이, 앞으로
개발공부도 더빠르고, 더 많이, ㅋㅋ 시작해봅시다
데이터베이스 insert 후 PK를 바로 얻어오기 위해서 다음과같이
insert 뒤에 select 를 실행 합니다. ORM 프레임워크는 Mybatis를 이용했습니다.
DBMS 별로 약간씩 다르니, 잊지 말고 참고 해야겠네요.
return 값은 <insert>에 설정된 dto에 따라 return 됩니다.
MySql
<insert id=”insertContent” parameterType=”content” resultType=”dto”>
<![CDATA[
INSERT INTO CONTENT (
CREATED_DATE, TITLE, CONTENT, CONTENT_TYPE
) VALUES (
now(), #title#, #content#, #contentType#
)
]]>
<selectKey keyProperty=”seqId” resultType=”int”>
SELECT LAST_INSERT_ID()
</selectKey>
</insert>
MSSQL
<insert id=”createProjectBasicInfo” parameterType=”prjIdx” resultType=”dto”>
<selectKey keyProperty=”prj_info_seq” resultType=”int”>INSERT INTO PRJ_INFO (
…
) VALUES (
…
)
SELECT SCOPE_IDENTITY()</selectKey>
</insert>
Oracle
<insert id=”insert_message” parameterType=”java.util.HashMap” resultType=”dto”>
<selectKey keyProperty=”message_id” resultType=”Integer”>
SELECT message_id_seq.nextval FROM DUAL
</selectKey>
INSERT INTO guestbook_message (message_id, guest_name, password, message)
VALUES(#message_id#, #gName#, #pw#, #ms#)
</insert>
MySQL 에 Auto_increment 라는 속성이 있다. 다들 잘 아시겠지만. PK 또는 게시판 번호와 같은 중복되지 않는 값 을
처리할 때 많이 사용한다. 이름만 봐도 딱 자동 같은 느낌이 드는 넘이다.
그럼 이 자동 증가되는 변수에 그다음 값을 알아내는 방법은
show table status where name = ‘ 테이블 이름’;
다음 과 같이 입력해주면면
+——————–+——–+———+————+——+—————-+————-+—————–+————–+———–+—————-+———————+————-+————+—————–+———-+—————-+———+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+——————–+——–+———+————+——+—————-+————-+—————–+————–+———–+—————-+———————+————-+————+—————–+———-+—————-+———+
| latte_partner_list | InnoDB | 10 | Compact | 5 | 3276 | 16384 | 0 | 0 | 9437184 | 6 | 2013-12-30 17:10:23 | NULL | NULL | utf8_general_ci | NULL | | |
+——————–+——–+———+————+——+—————-+————-+—————–+————–+———–+—————-+———————+————-+————+—————–+———-+—————-+———+
화면이 짤려도 이해 ^^ 바랍니다. 테이블 상태에 대한 꽤 많은 정보를 얻어 올수 있다.
테이블 엔진, 버전, 등등등… 한번 명령어 입력하셔서 어떠한 정보를 알아 낼수 있는지 해보세요 :)
위 필드중 Auto_increment 가 있다. 바로 다음 증가될 자동 변수에 값이 나와있다. (현재값은 -1 하면되지만 데이터가 지워지면 값이 부정확해진다.)
위 속성에서 자동증가값을 찾아서 활용하면 된다. 끝!
show status like “%connect%”;
우선 현재 설정되어있는 커넥션 관련 설정 정보를 확인 합니다.
show full processlist;
현재 연결되어있는 커넥션에 대해서 확인합니다.
show variable like “%max_connect%”;
연결될 커넥션 수에 관한 max 숫자와 에러 커넥션을 확인합니다.
각 관련 내용들은 추후에 다시 정리할 예정입니다.
커넥션은 소중하니깐.. ^^b;
MySQL 설치시 에러 때문에 관련글을 작성합니다.
패키지 에러, 패키지 깨짐 같은 현상으로 ^^ 에러 가 생길시.. 별다른 해결책없이
MySQL 삭제후 재설치가 답인것 같습니다.(ㅠㅠ 에러 해결이 안되네요)
그래서 우선 관련글을 빠르게 해외 사이트에서 찾아왔습니다.
완벽하게 제거후에 다시설치 고고싱 !
using apt:
apt-get –purge remove mysql-server
apt-get –purge remove mysql-client
apt-get –purge remove mysql-common
apt-get autoremove
apt-get autoclean
using aptitude (some people claim aptitude does a better job of removing dependencies):
aptitude remove mysql-client
aptitude remove mysql-server
aptitude remove mysql-common
see if anything depends on the installed packages
apt-cache rdepends mysql-server
apt-cache rdepends mysql-client
if you’ve changed apparmor settings change them back inside here:
pico /etc/apparmor.d/usr.sbin.mysqld
delete preferences(the next find command will delete everything):
rm -rf /etc/mysql
find all files with “mysql” on / and delete them:
find / -iname ‘mysql*’ -exec rm -rf {} \;
after all of the above do a clean install
aptitude install mysql-server mysql-client
check to see if mysql is running:
service mysql status
and you should get the response running
mysql start/running, process 3296
check with mysqladmin:
mysqladmin -u root -p status