본문 바로가기
728x90
반응형

전체 글320

[MYSQL / Database] 제약조건 적용해보기( NOT NULL, UNIQUE, DEFAULT, CHECK, PRIMARY KEY,FOREIGN KEY) 제약조건 확인 방법 select * from information_schema.table_constraints where table_name = '테이블명'; select constraint_name, constrint_type from information_schema.table_constraints where table_name = '테이블명'; desc '테이블명'; NOT NULL 실습해보기 . 해당 필드는 NULL 값을 저장할 수 없다. . NOT NULL 제약 조건이 설정된 필드는 무조건 데이터를 가지고 있어야 한다. create database mydb01; use mydb01; create table t1(id int, name varchar(30), addr varchar(30) not .. 2023. 4. 13.
[MYSQL / Database] constraint 제약조건 제약조건 CONSTRAINT - 데이터의 무결성을 지키기 위해, 데이터를 입력받을 때 검사 규칙을 의미한다. - 제약조건은 CREATE 문으로 테이블 생성할 때나, ALTER문으로 컬럼을 추가할 때도 설정할 수 있다. - NOT NULL : NULL값을 가지면 안되는 컬럼 - UNIQUE : 같은 컬럼안에서 동일한 값을 가질 수 없다. MYSQL에서는 NULL을 여러번 지정가능 (MSSQL 은 NULL도 한번만 가능하다) - PRIMARY KEY : 행에 반드시 유일한 값이 들어가야함 ( NULL값을 가질 수 없다.) - FOREIGN KEY - DEFAULT - CHECK 제약조건 사용법 제약조건 확인 SELECT * FROM INFORMATION_SCHEMA.TABLE_CONST.. 2023. 4. 12.
[MYSQL / Database] Role 생성, 퍼미션 할당, 권한취소 기본 설정 create database db01; use db01; create table t1( id int, name varchar(30) ); insert into t1 values (1,'홍길동') ,(2,'서길동'); select * from t1; Role 생성 CREATE ROLE [ROLENAME]; create role role1; create role role2; create role role3; ROLE 에 퍼미션 할당 grant all on db01.* to role1; grant select on db01.* to role2; grant select,update,delete on db01.* to role3; 퍼미션을 주어도 ROLE이 바로 적용되어지지 않는다. 사용자에게 role.. 2023. 4. 12.
[MYSQL / Database ] 사용자 권한 실습해보기 - REVOKE MySQL서버:192.168.1.X, Host'PC:클라이언트:192.168.1.1 - MySQL서버 SQL> create database db01; SQL> use db01; SQL> create table t1(id int); SQL> insert into t1 values(1); SQL> insert into t1 values(2); SQL> create database db02; SQL> use db02; SQL> create table t2(id int); SQL> insert into t2 values(3); SQL> insert into t2 values(4); SQL> select * from t2; SQL> create user user1@'%' identified by '1'; SQL>.. 2023. 4. 12.
[MYSQL / Database] ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061) ERROR 2003 (HY000) 원인 ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061) 1. mysql 서버가 작동되지 않는 경우 발생 2.root 비밀번호가 틀린경우 해결방법 1. mysql 서버가 작동되지 않는 경우 발생 작업관리자(ctrl + Alt + del) 를 실행 서비스에서 mysql를 찾아주고 활성화시켜줍니다. 2. root 비밀번호가 틀린경우 mysqld --skip -grant 명령 실행하여 암호없이 mysql에 접속할 수 있도록 설정 cmd 창을 새로 띄우고 mysql -u root mysql 로 root계정으로 접속 그뒤에 비밀번호 변경 mysqld --skip -grant mysql -u r.. 2023. 4. 12.
[MYSQL / Database] MySQL ERROR 1045 (28000): Access denied for user MySQL ERROR 1045 (28000) 원인 ERROR 1045 (28000): Access denied for user 'id'@'localhost' (using password: NO) 위의 에러는 비밀번호를 입력하지 않아서 나타나는 오류 입니다. ERROR 1045 (28000): Access denied for user 'id'@'localhost' (using password: yes) using passwd : yes 가 나타나는 이유는 비밀번호를 입력했지만 올바르지 않은 비밀번호를 입력했을 겨우 나타나는 에러입니다. 해결방법 비밀번호를 올바르게 적어주면 됩니다. 2023. 4. 12.
[MYSQL / Database] Error mysql ERROR 1396 (HY000) 사용자 제거시 mysql ERROR 1396 (HY000) 에러나 나올때 mysql ERROR 1396 (HY000) 원인 Create user/ grant 명령으로 사용자와 권한을 추가/ 관리해야 하는데, mysql.db, mysql.user 테이블을 직접 조작하다가 일관성이 깨졌기 때문이다. 해결방법 1. 기존의 데이터들이 깨끗하게 삭제해준다. delete from mysql.user where user='삭제할 아이디'; delete from mysql.db where user='삭제할 아이디'; drop user [userid@'host'] 먼저 계정을 삭제 해준다. flush privileges; 2. 아이디 새로 만들기 create user userid@'host' identified by '.. 2023. 4. 11.
[MYSQL / Database ] 사용자 조회, 생성, 제거 ,권한 부여 MySQL 사용자 조회 use mysql; -- mysql 스키마 선택 select user,host from user ; -- 사용자 목록 조회 사용자 생성 CREATE USER '사용자ID'@'HOST' IDENTIFIED BY '비밀번호'; flush privieleges; => 적용시켜줌 #내부 접근 허용하는 사용자 추가 CREATE USER '사용자ID'@'LOCALHOST' IDENTIFIED BY '비밀번호'; #외부접근 허용하는 사용자 추가 CREATE USER '사용자ID'@'%' IDENTIFIED BY '비밀번호'; #특정 IP만 접근을 허용하는 사용자 추가 CREATE USER '사용자ID'@'특정 IP주소' IDENTIFIED BY '비밀번호'; #특정 IP대역을 허용하는 사용자 .. 2023. 4. 11.
[MYSQL/Database] TCL(Transaction Control Laguage) TCL ( Transaction Control Language) - DCL(Data Control Language)의 Commit과 Rollback을 따로 분리하여 TCL이라고 한다. - 하나의 작업단위 : 전부 성공 또는 전부 취소 A은행 -> B은행 : 10만원 이체 - REDO 로그를 사용해서 과거의 데이터를 최신 데이터 쪽으로 흐르게 하는 것을 '롤 포워드(roll-forward)'라고 한다. 반대로, UNDO 정보를 사용해서 변경을 취소(과거의 상태로 되돌린다)하는 것을 '롤백(rollback)'이라고 한다. - 트랜잭션의 특징(ACID) 원자성(Atomicity) : The entire transation takes place at once or doesn't happen at all. 일관성.. 2023. 4. 11.
[MYSQL/Database] 실습 alter, rename, view 생성 view생성하기 create veiw [view name] as 조건 create database testdb; use testdb; create table t_user( c_ID int primary key auto_increment comment '유저 고유 아이디', c_name char(20) not null comment '유저이름' )comment '유저 테이블'; SELECT table_name, table_comment FROM information_schema.tables WHERE table_schema = 'testdb' AND table_name = 't_user'; SELECT table_name, column_name, column_comment FROM information_s.. 2023. 4. 11.
728x90
반응형