1.查看编码方式语句:SHOW VARIABLES LIKE 'charater_set_client';
2.修改MySQL目录下的my.ini文件也可修改字符集编码default-character-
set=gbk(修改后需重启MySQL服务)
3.bin目录下的MySQLInstanceConfig.exe,重新配置
4.建表(大小写区分与系统有关)
CREATE DATABASE 数据库名;
DROP DATABASE 数据库名;
DROPP TABLE 表名;
SHOW TABLES;
SHOW DATABASES;
USE 数据库名;
CREATE TABLE 表名;
CREATE TABLE tb_emp(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(18),
sex VARCHAR(2) CHECK(sex = '男' OR sex = '女'),
age INT CHECK(age > 18 AND age < 60),
address VARCHAR(200),
email VARCHAR(100)
dept_id INT
);
#修改列类型 , 不是任何情况下都可以修改的,当字段只包含空值时可以,
其他情况下可能不成功
ALTER TABLE tb_emp MODIFY name VARCHAR(18);
#增加列
ALTER TABLE tb_emp ADD mobile VARCHAR(100);
#删除列
ALTER TABLEtb_emp DROP COLUMN email;
ALTER TABLE tb_emp DROP mobile;#mysql特有
#修改列名
ALTER TABLE tb_emp CHANGE name emp_name VARCHAR(18);
#修改表名
ALTER TABLE tb_emp RENAME tb_employee;
ALTER TABLE tb_emp to tb_employee;
5.约束(主键约束,外键约束,唯一约束,检查约束,非空约束)
(1)建表时键约束
CREATE TABLE tb_emp(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(18) NOT NULL,
sex VARCHAR(2) CHECK(sex = '男' OR sex = '女'),
age INT CHECK(age > 18 AND age < 60),
address VARCHAR(200),
email VARCHAR(100) UNIQUE,
dept_id INT REFERENCES tb_dept(id)#外键约束没起作用
);
(2)建表最后建立约束
CREATE TABLE tb_emp(
id INT AUTO_INCREMENT,
name VARCHAR(18) NOT NULL,
sex VARCHAR(2) CHECK(sex = '男' OR sex = '女'),
age INT CHECK(age > 18 AND age < 60),
address VARCHAR(200),
email VARCHAR(100) UNIQUE,
PRIMARY KEY (id),
#建立外键CONSTRAINT FOREIGN KEY 外键名(外键)REFERENCES 主表(字段)
CONSTRAINT FOREIGN KEY tb_emp_fk (dept_id) REFERENCES tb_dept(id)
);
(3)建表后,建立约束,表级
CREATE TABLE tb_emp(
id INT,
name VARCHAR(18) NOT NULL,
sex VARCHAR(2) ,
age INT ,
address VARCHAR(200),
email VARCHAR(100)
dept_id INT
);
#添加主键
ALTER TABLE tb_emp
ADD PRIMARY KEY(id);
#更改自增长
ALTER TABLE tb_emp
MODIFY COLUMN id INT AUTO_INCREMENT;
#添加外键
ALTER TABLE tb_emp
ADD CONSTRAINT FOREIGN KEY tb_emp_fk (dept_id) REFERENCES tb_dept
(id);
#添加唯一键
ALTER TABLE tb_emp
ADD UNIQUE (email);
#添加检查约束
ALTER TABLE tb_emp
ADD CONSTRAINT CHECK (age > 18 AND age < 60);
#删除约束
#修改非空约束
ALTER TABLE tb_emp MODIFY NAME VARCHAR(18);
#删除唯一约束
ALTER TABLE tb_emp DROP INDEX email;
#删除主键约束,注意自动增长问题
ALTER TABLE tb_emp MODIFY id INT;
ALTER TABLE tb_emp DROP PRIMARY KEY (id);
#删除外键约束 mysql下要用它定义的名字
ALTER TABLE tb_emp DROP FOREIGN KEY tb_emp_fk
#默认
CREATE TABLE tb_emp(
id INT AUTO_INCREMENT,
name VARCHAR(18) NOT NULL,
sex VARCHAR(2) DEFAULT '男' CHECK(sex = '男' OR sex = '女'),
age INT CHECK(age > 18 AND age < 60),
address VARCHAR(200),
email VARCHAR(100) UNIQUE,
PRIMARY KEY (id),
);
2.修改MySQL目录下的my.ini文件也可修改字符集编码default-character-
set=gbk(修改后需重启MySQL服务)
3.bin目录下的MySQLInstanceConfig.exe,重新配置
4.建表(大小写区分与系统有关)
CREATE DATABASE 数据库名;
DROP DATABASE 数据库名;
DROPP TABLE 表名;
SHOW TABLES;
SHOW DATABASES;
USE 数据库名;
CREATE TABLE 表名;
CREATE TABLE tb_emp(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(18),
sex VARCHAR(2) CHECK(sex = '男' OR sex = '女'),
age INT CHECK(age > 18 AND age < 60),
address VARCHAR(200),
email VARCHAR(100)
dept_id INT
);
#修改列类型 , 不是任何情况下都可以修改的,当字段只包含空值时可以,
其他情况下可能不成功
ALTER TABLE tb_emp MODIFY name VARCHAR(18);
#增加列
ALTER TABLE tb_emp ADD mobile VARCHAR(100);
#删除列
ALTER TABLEtb_emp DROP COLUMN email;
ALTER TABLE tb_emp DROP mobile;#mysql特有
#修改列名
ALTER TABLE tb_emp CHANGE name emp_name VARCHAR(18);
#修改表名
ALTER TABLE tb_emp RENAME tb_employee;
ALTER TABLE tb_emp to tb_employee;
5.约束(主键约束,外键约束,唯一约束,检查约束,非空约束)
(1)建表时键约束
CREATE TABLE tb_emp(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(18) NOT NULL,
sex VARCHAR(2) CHECK(sex = '男' OR sex = '女'),
age INT CHECK(age > 18 AND age < 60),
address VARCHAR(200),
email VARCHAR(100) UNIQUE,
dept_id INT REFERENCES tb_dept(id)#外键约束没起作用
);
(2)建表最后建立约束
CREATE TABLE tb_emp(
id INT AUTO_INCREMENT,
name VARCHAR(18) NOT NULL,
sex VARCHAR(2) CHECK(sex = '男' OR sex = '女'),
age INT CHECK(age > 18 AND age < 60),
address VARCHAR(200),
email VARCHAR(100) UNIQUE,
PRIMARY KEY (id),
#建立外键CONSTRAINT FOREIGN KEY 外键名(外键)REFERENCES 主表(字段)
CONSTRAINT FOREIGN KEY tb_emp_fk (dept_id) REFERENCES tb_dept(id)
);
(3)建表后,建立约束,表级
CREATE TABLE tb_emp(
id INT,
name VARCHAR(18) NOT NULL,
sex VARCHAR(2) ,
age INT ,
address VARCHAR(200),
email VARCHAR(100)
dept_id INT
);
#添加主键
ALTER TABLE tb_emp
ADD PRIMARY KEY(id);
#更改自增长
ALTER TABLE tb_emp
MODIFY COLUMN id INT AUTO_INCREMENT;
#添加外键
ALTER TABLE tb_emp
ADD CONSTRAINT FOREIGN KEY tb_emp_fk (dept_id) REFERENCES tb_dept
(id);
#添加唯一键
ALTER TABLE tb_emp
ADD UNIQUE (email);
#添加检查约束
ALTER TABLE tb_emp
ADD CONSTRAINT CHECK (age > 18 AND age < 60);
#删除约束
#修改非空约束
ALTER TABLE tb_emp MODIFY NAME VARCHAR(18);
#删除唯一约束
ALTER TABLE tb_emp DROP INDEX email;
#删除主键约束,注意自动增长问题
ALTER TABLE tb_emp MODIFY id INT;
ALTER TABLE tb_emp DROP PRIMARY KEY (id);
#删除外键约束 mysql下要用它定义的名字
ALTER TABLE tb_emp DROP FOREIGN KEY tb_emp_fk
#默认
CREATE TABLE tb_emp(
id INT AUTO_INCREMENT,
name VARCHAR(18) NOT NULL,
sex VARCHAR(2) DEFAULT '男' CHECK(sex = '男' OR sex = '女'),
age INT CHECK(age > 18 AND age < 60),
address VARCHAR(200),
email VARCHAR(100) UNIQUE,
PRIMARY KEY (id),
#建立外键CONSTRAINT FOREIGN KEY 外键名(外键)REFERENCES 主表(字段)
CONSTRAINT FOREIGN KEY tb_emp_fk (dept_id) REFERENCES tb_dept(id));