MySQLの一般的な操作(テーブルの作成と属性の設定)-DAY_1

書き込み形式:SQLコマンドを使用するには大文字が必要です。ファイルやユニットなどを呼び出すに小文字のログインとプロセスレコードが必要です。

#我们在安装配置好环境,设置数据库的名字和登录密码后便可进行操作
#打开电脑cmd命令栏
mysql -uroot -p123456
#-u后面为我们设置的用户名,-p后面是我们设置的密码
#由于安全等问题,可使用
mysql -uroot -p
#在输入自己的密码(次处123456)进行登录,屏幕对密码字段进行掩盖
#有时候我们为了记录整个cmd的指令以及系统反馈,可在登录之后进行操作
\T D:\MyProjects\practise\mysql1.txt
#在文件路径下生成mysql1.txt的文件
SELECT NOW();
#sql语句一条指令以;结束
\t
#\t表示结束file,这样我们在打开文件进行操作的相关过程就记录到mysql1.txt的文件中了

データベース関連の操作

#创建数据库,指定gbk编码格式
CREATE DATABASE IF NOT EXISTS test1 DEFAULT CHARACTER SET='gbk'#展示数据库
SHOW DATABASES;
#展示创建的test1数据库详尽信息
SHOW CREATE DATABASE test1;
#修改指定数据库的编码方式
ALTER DATABASE wxj DEFAULT CHARACTER SET utf8;
ALTER DATABASE wxj DEFAULT CHARACTER SET=utf8;
#打开指定数据库
USE test1
SELECT DATABASE();
#删除wxj数据库
DROP DATABASE IF EXISTS wxj;
# DROP DATABASE wxj 如果不存在wxj数据库可能会报错

一般的なデータ型

#1.整形
TINYINT
TINYINT(1)#用于波尔
SMALLINT
INT
BIGINT
#2.浮点型
FLOAT[(A,B)]
DOUBLE[(A,B)]
DECIMAL[(A,B)]
#3.字符串
CHAR(M)#M0-255
VARCHAR(M)
TINYTEXT
TEXT
LONGTEXT
ENUM('VALUE1','VALUE2')
SET('VAL1','VAL2')#集合
#4.日期时间
TIME
DATE
DATETIME
TIMESTAMP
YEAR 1901-2155

#查看手册
help CREATE DATABASE
? INT
\h INT

ストレージエンジン

SHOW ENGINES\G;
#\G CAN MAKE RESULT SHOW AS LIST
SHOW VARIABLES LIKE'have%';
#SHOW VARIABLE_NAME
#YOU CAN SHOW SPECILIC VARIABLE
SHOW VARIABLES LIKE'storage_engine';

#search others papers can get knowledgs of different engines and pick up suitable engines to process our task

テーブルを作成

CREATE DATABASE IF NOT EXISTS wxj1;
USE wxj1;
#creat TABLE
-- num id 
-- age 
-- sex
-- email
-- addr
-- salary
-- birth
-- phone_num
-- marrige
-- use chinese should change encoding to gbk
-- SET NAMES GBK;

CREATE TABLE IF NOT EXISTS wxj(
id SMALLINT,
username VARCHAR(20),
age TINYINT,
sex ENUM('MEN','WOMAN','SERECT'),
email VARCHAR(50),
addr VARCHAR(200),
birth YEAR,
salary FLOAT(8,2),
phone_num INT,
marrige TINYINT(1)COMMENT '1 is married,0 is not'
 )ENGINE=INNODB CHARSET=utf8;

-- create course table 
-- course_name
-- coures_id
-- course_describtion
CREATE TABLE IF NOT EXISTS course_table(
course_id TINYINT 
COMMENT 'different courses have different id_num',
course_name VARCHAR(50) 
COMMENT'the size of name must less than 50 chars',
course_describtion VARCHAR(200)
)ENGINE=INNODB CHARSET=utf8;

テストテーブルのデータ型

-- test the typer of number
CREATE TABLE IF NOT EXISTS test(
num_1 TINYINT,
num_2 SMALLINT,
num_3 MEDIUMINT,
num_4 INT,
num_5 BIGINT
)ENGINE=INNODB CHARSET=utf8;

DESC test;
-- inqure table test not database test
DESCRIBE test;
SHOW COLUMNS FROM test;

-- insert information tb_name value/value(num)
INSERT test VALUE(-128,-32768,-8388608,-2147483648, -9223372036854775808);
INSERT test VALUE(-129,-32768,-8388608,-2147483648, -9223372036854775808);
# ERROR OUT OF RANGE
-- inquire informatin 
select * from test;

#unsigned test
CREATE TABLE IF NOT EXISTS test1(
a1 TINYINT UNSIGNED,
a2 TINYINT
);
INSERT test1 VALUE(0,-12);

-- ZEROFILL to make free  positions be replaced by zero 
CREATE TABLE IF NOT EXISTS test2(
num_1 TINYINT ZEROFILL,
num_2 SMALLINT ZEROFILL,
num_3 MEDIUMINT ZEROFILL,
num_4 INT ZEROFILL,
num_5 BIGINT ZEROFILL
);

INSERT test2 VALUE(-1,-3,-8,-21, -92);

-- test float type
CREATE TABLE test3(
a1 FLOAT(6,2),
a2 DOUBLE(6,2),
a3 DECIMAL(6,2)
);

INSERT test3 VALUES(3.1414,3.1415,3.1416);




mysql5.5は、charを使用して中国語を挿入するとフォーマットエラーを表示しますが、作成され、UTF8エンコード形式に設定されます。
解決策:my.iniのCLIENT SECTIONセクションのdefault-character-set = utf-8をdefault-character-set = GBKに変更し、その他はすべて同じままにしてから、mysqlコマンドインターフェイスを再度開いて挿入操作を実行します。アップ。

テーブルの主キー

CREATE TABLE IF NOT EXISTS user1(
id INT PRIMARY KEY,
username VARCHAR(20)
);

-- inqure details of table
SHOW create table user1;

CREATE TABLE IF NOT EXISTS user2(
id INT,
username VARCHAR(20),
card CHAR(18),
PRIMARY KEY(id,card)
);

-- only write down key is enough
CREATE TABLE IF NOT EXISTS user3(
id INT  KEY,
username VARCHAR(20)
);

おすすめ

転載: blog.csdn.net/soulproficiency/article/details/107434281