In diesem Artikel werden hauptsächlich allgemeine Aussagen wie Datenbanken, Datentabellen, Datentypen, Zeichenfolgen sowie Uhrzeit und Datum vorgestellt.
Datenbank
Datentabelle Tabelle
Spalte
Zeile
redundant
Primärschlüssel
Fremdschlüssel Fremdschlüssel
zusammengesetzter Schlüssel
Index
Referenz Integrität
MySQL-Datentyp
Drei Kategorien: numerischer Wert, Datum/Uhrzeit und Zeichenfolge (Zeichen)
Numerischer Wert
TINYINT 1 Byte ( 0, 255)
SMALLINT 2 Bytes (0, 65 535)
MEDIUMINT 3 Bytes
INT oder INTEGER 4 Bytes BIGINT 8 Bytes
FLOAT 4 Bytes DOUBLE 8 Bytes DECIMAL
Datumszeit
DATE Datumswert
TIME Zeitwert oder Dauer
YEAR Jahrwert
DATETIME gemischter Datums- und Zeitwert
TIMESTAMP Zeitstempel
Zeichenkette
CHAR 0-255 Bytes, VARCHAR 0-65535 Bytes
BINARY, VARBINARY, BLOB, TEXT, ENUM und SET
Transaktionen müssen 4 Bedingungen (ACID) erfüllen:
Atomizität (Atomizität), Konsistenz (Stabilität), Isolation (Isolation), Haltbarkeit (Zuverlässigkeit)
1. Atomarität von Transaktionen: Eine Reihe von Transaktionen ist entweder erfolgreich oder wird zurückgezogen.
2. Stabilität: Bei illegalen Daten (Fremdschlüsseleinschränkungen usw.) wird die Transaktion zurückgezogen.
3. Isolation: Transaktionen laufen unabhängig ab. Wenn sich das Ergebnis einer Transaktion auf andere Transaktionen auswirkt, werden die anderen Transaktionen zurückgezogen.
Eine 100-prozentige Isolierung von Transaktionen erfordert Einbußen bei der Geschwindigkeit.
4. Zuverlässigkeit: Nach Software- oder Hardwareabstürzen verwendet der InnoDB-Datentabellentreiber Protokolldateien zur Rekonstruktion und Änderung.
Zuverlässigkeit und hohe Geschwindigkeit können nicht beides sein. Die Option innodb_flush_log_at_trx_commit bestimmt, wann Transaktionen im Protokoll gespeichert werden.
Der Befehl lautet wie folgt:
mysql> -uroot -p123456 登陆 mysql> grant all on test.* to 'pengshiyu'@'localhost' -> identified by '123456'; 创建用户 mysql> quit 退出 mysql> show databases; 查看数据库 mysql> create database test; 创建数据库 mysql> create database test charset utf8; 指定字符集支持中文 mysql> show create database test; 查看数据库信息 mysql> drop database test; 删除数据库 mysql> use test; 进入数据库 mysql> create table student( -> id int auto_increment, -> name char(32) not null, -> age int not null, -> register_data date not null, -> primary key (id) -> ); 创建表 mysql> show tables; 查看表 mysql> desc student; 查看表结构 mysql> describe student; 查看表结构 mysql> show columns from student; 查看表结构 mysql> insert into student(name, age, register_data) -> values('tom', 27, '2018-06-25'); 增加记录 mysql> select * from student; 查询数据 mysql> select * from student\G 按行输出 mysql> select * from student limit 3; 限制查询数量 mysql> select * from student limit 3 offset 5; 丢弃前5条数 mysql> select * from student where id > 3; 条件查询 mysql> select * from student where register_data like "2018-06%"; 模糊查询 mysql> update student set name = 'cxx' where id = 10; 修改 mysql> delete from student where id = 10; 删除 mysql> select * from student order by age; 排序默认ascend mysql> select * from student order by age desc; 降序descend mysql> select age,count(*) as num from student group by age; 分组 mysql> select name, sum(age) from student group by name with rollup; 汇总 mysql> select coalesce(name,'sum'), sum(age) from student -> group by name with rollup; 汇总取别名 mysql> alter table student add sex enum('M','F'); 增加字段 mysql> alter table student drop sex; 删除字段 mysql> alter table student modify sex enum('M','F') not null; 修改字段类型 mysql> alter table student modify sex -> enum('M','F') not null default 'M'; 设置默认值 mysql> alter table student change sex gender -> enum('M','F') not null default 'M'; 修改字段名称 mysql> create table study_record( -> id int not null primary key auto_increment, -> day int not null, -> stu_id int not null, -> constraint fk_student_key foreign key (stu_id) references student(id) -> );命名外键约束 创建表 mysql> create table A(a int not null); mysql> create table B(b int not null); 插入数据 mysql> insert into A(a) values (1); mysql> insert into A(a) values (2); mysql> insert into A(a) values (3); mysql> insert into A(a) values (4); mysql> insert into B(b) values (3); mysql> insert into B(b) values (4); mysql> insert into B(b) values (5); mysql> insert into B(b) values (6); mysql> insert into B(b) values (7); 交集 内连接 mysql> select * from A inner join B on A.a = B.b; mysql> select a.*, b.* from A inner join B on A.a = B.b; 差集 mysql> select * from A left join B on A.a =B.b; 左外连接 mysql> select * from A right join B on A.a =B.b; 右外连接 并集 mysql> select * from a left join b on a.a=b.b union -> select * from a right join b on a.a = b.b; 全连接 mysql> begin; 开始事务 mysql> rollback; 回滚事务 mysql> commit; 提交事务 mysql> show index from student; 查看索引 mysql> create index name_index on student(name(10)); 创建索引 mysql> drop index name_index on student;删除索引
Verwandte Empfehlungen:
MySQL-Anweisungssammlung: erstellen, autorisieren , abfragen, ändern
30 Tipps zur Optimierung von MySQL-Anweisungen
Mehrere MySQL-Anweisungen, die häufig in PHP_PHP-Tutorials verwendet werden
Das obige ist der detaillierte Inhalt vonEinführung in allgemeine MySQL-Anweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!