1
Verbinden: mysql -h Hostadresse -u Benutzername -p Benutzerkennwort (Hinweis: u und root benötigen keine Leerzeichen, das Gleiche gilt für andere)
Trennen: Beenden ( return Car)
Öffnen Sie cmd, geben Sie
mysql -h 127.0.0.1 -u root -p ein und geben Sie das Passwort ein. Sie können eine Verbindung zur lokalen MySQL-Datenbank herstellen.
2. Benutzer erstellen:
Befehl: CREATE USER 'username'@'host' IDENTIFIED BY 'password';
Anleitung:
Benutzername – der Benutzername, den Sie erstellen werden,
Host – geben Sie den Host an, auf dem sich der Benutzer anmelden kann. Wenn es sich um einen lokalen Benutzer handelt, kann es sich um localhost handeln Wenn Sie möchten, kann sich der Benutzer von jedem Remote-Host aus anmelden und den Platzhalter % verwenden. Das Kennwort kann leer sein ohne Passwort zum Server.
Beispiel:
Verlassen Sie beim Anmelden zuerst das aktuelle und geben Sie dann Folgendes ein:CREATE USER 'lin'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456'; CREATE USER 'pig'@'%' IDENTIFIED BY '123456'; CREATE USER 'pig'@'%' IDENTIFIED BY ''; CREATE USER 'pig'@'%';
mysql -h 127.0.0.1 -u linlin -p 密码 mysql -h 127.0.0.1 -u pig -p 密码
Befehl: GRANT Privilegien ON Datenbankname.Tabellenname TO 'Benutzername'@'Host'
Beschreibung:
Berechtigungen – Betriebsberechtigungen des Benutzers, wie z. B. SELECT, INSERT, UPDATE usw. (Eine detaillierte Liste finden Sie am Ende dieses Artikels. Wenn Sie alle Berechtigungen erteilen möchten, verwenden Sie ALL.; Datenbankname – Datenbankname, Tabellenname - Tabellenname. Wenn Sie dem Benutzer entsprechende Betriebsberechtigungen für alle Datenbanken und Tabellen erteilen möchten, können Sie * Dargestellt verwenden, z. B. *.*.
Beispiel:
Hinweis : Benutzer, die mit dem obigen Befehl autorisiert wurden, können keine anderen Benutzer autorisieren, verwenden Sie den folgenden Befehl:GRANT SELECT, INSERT ON school.* TO 'lin' @'%'; GRANT ALL ON *.* TO 'pig'@'%';
GRANT privileges ON databasename.tablename TO 'username'@'host'WITH GRANT OPTION;
Befehl: SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword'); wenn ja, verwendet der aktuell angemeldete Benutzer SET PASSWORD = PASSWORD("newpassword");
Beispiel: SET PASSWORD FOR 'lin'@'%' = PASSWORD("123456");
5. Benutzerrechte widerrufenBefehl: REVOKE Privileg ON Datenbankname.Tabellenname FROM 'Benutzername'@'Host';
Anweisungen: Privileg, Datenbankname, Tabellenname – dasselbe wie Autorisierungsteil.
例子: REVOKE SELECT ON *.* FROM 'pig'@'%';
注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限.
具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.
6、删除用户
命令: DROP USER 'username'@'host';
1、数据库显示、创建、删除
显示数据库:show databases;
创建库:create database 库名;
删除库:drop database 库名;
使用库(选中库):use 库名;
2、表显示、创建、删除
显示数据表:show tables; (要先用use 数据库名选定数据库)
显示表结构:describe 表名;或者desc 表名
创建表:create table 表名 (字段设定列表);
CR EATE TABLE USER ( name VARCHAR(30) NOT NULL, id INT DEFAULT '0' NOT NULL, stu_id INT, phone VARCHAR(20), address VARCHAR(30) NOT NULL, age INT(4) NOT NULL, PRIMARY KEY (name), CONSTRAINT stu_id UNIQUE (stu_id) ) ENGINE=InnoDB D EFAULT CHARSET=utf8;
删除表:drop table 表名;
句法:DROP DATABASE [IF EXISTS] db_name
功能:DROP DATABASE删除数据库中的所有表和数据库。要小心地使用这个命令!
DROP DATABASE返回从数据库目录被删除的文件的数目。通常,这3倍于表的数量,因为每张表对应于一个“.MYD”文件、一个“.MYI”文件和一个“.frm”文件。
在MySQL 3.22或以后版本中,你可以使用关键词IF EXISTS阻止一个错误的发生,如果数据库不存在。
假设现在有表books:
1.复制表结构
1.1 含有主键等信息的完整表结构
CREATE table 新表名 LIKE book;
1.2 只有表结构,没有主键等信息
Tabelle erstellen, neuer Tabellenname, * aus Büchern auswählen;
oder
Tabelle erstellen, neuer Tabellenname als (* aus Buch auswählen);
oder
Tabelle erstellen, neuer Tabellenname, * aus Büchern auswählen, wobei 1=2;
2. Die Daten aus der alten Tabelle in die neue Tabelle einfügen.
INSERT IN DIE neue Tabelle SELECT * FROM old table;
Hinweis: Die neue Tabelle muss bereits vorhanden sein
3. Geben Sie die DDL-Anweisung ein, um die Tabelle zu erstellen
show create Tabelle Tabellenname;
Tabellendaten löschen
Tabelle Tabellenname abschneiden;
Datenbank sichern
Sichern Sie beispielsweise die Bibliotheksdatenbank
Gehen Sie zum MySQL-Bin-Verzeichnis
E:mysql-5.6.23-win32bin
Verwenden Sie „mysqldump- u Benutzername-p Datenbankname> Sicherungsname"Datenbank in Datei exportieren
C:ProgrammeMySQLMySQL Server 5.5bin>mysqldump -u root -p test >test.sql
Passwort eingeben: * **
Das ist es.
E:mysql-5.6.23-win32bin-Verzeichnis
6. Datenbank wiederherstellen
Stellen Sie die Testdatenbank als Beispiel wieder her
Erstellen Sie zunächst die Datenbank test1
und gehen Sie dann zu mysql>
Geben Sie den Quellpfad einDas war's. Achten Sie auf den Pfad, in dem sich test.sql befindet!1. Daten in MySQL-Tabelle löschen
Aus Tabellennamen löschen;Tabellennamen abschneiden;Die Löschanweisung ohne den Parameter where kann den gesamten Inhalt der MySQL-Tabelle löschen im MySQL-Inhalt.效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
delete的效果有点像将mysql表中所有记录一条一条删除到删完,
而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。
2、删除表中的某些数据
delete from命令格式:delete from 表名 where 表达式
例如,删除表 MyClass中编号为1 的记录:
代码如下:
mysql> delete from MyClass where id=1;
1、给列更名
>alter table 表名称 change 字段名称 字段名称
例如:
alter table pet change weight wei;
2、给表更名
>alter table 表名称 rename 表名称
例如:
alter table tbl_name rename new_tbl
3、修改某个表的字段类型及指定为空或非空
>alter table 表名称 change 字段名称字段名称 字段类型 [是否允许非空];
>alter table 表名称 modify 字段名称字段类型 [是否允许非空];
4、修改某个表的字段名称及指定为空或非空
>alter table 表名称 change 字段原名称字段新名称 字段类型 [是否允许非空];
例如:
修改表expert_info中的字段birth,允许其为空
代码如下:
>alter table expert_info change birth birth varchar(20) null;
1.增加一个字段(一列)
alter table table_name add column column_name type default value; type指该字段的类型,value指该字段的默认值
例如:
代码如下:
alter table mybook add column publish_house varchar(10) default ”;
2.更改一个字段名字(也可以改变类型和默认值)
alter table table_name change sorce_col_name dest_col_name type defaultvalue; source_col_name指原来的字段名称,dest_col_name
指改后的字段名称
例如:
代码如下:
alter table Board_Info change IsMobile IsTelphone int(3) unsigned default1;
3.改变一个字段的默认值
alter table table_name alter column_name set default value;
例如:
代码如下:
alter table book alter flag set default '0′;
4.改变一个字段的数据类型
alter table table_name change column column_name column_name type;
例如:
代码如下:
alter table userinfo change column username username varchar(20)
5.向一个表中增加一个列做为主键
alter table table_name add column column_name type auto_increment PRIMARYKEY;
例如:
代码如下:
alter table book add column id int(10) auto_increment PRIMARY KEY;
6.数据库某表的备份,在命令行中输入:
mysqldump -u root -p database_name table_name > bak_file_name
例如:
代码如下:
mysqldump -u root -p f_info user_info > user_info.dat
7.导出数据
select_statment into outfile”dest_file”;
例如:
代码如下:
select cooperatecode,createtime from publish limit 10 intooutfile”/home/mzc/temp/tempbad.txt”;
8.导入数据
load data infile”file_name” into table table_name;
例如:
代码如下:
load data infile”/home/mzc/temp/tempbad.txt” into table pad;
9.将两个表里的数据拼接后插入到另一个表里。下面的例子说明将t1表中的com2和t2表中的com1字段的值拼接后插入到tx表对应的字段里。
例如:
代码如下:
insert into tx select t1.com1,concat(t1.com2,t2.com1) from t1,t2;
10.删除字段
alter table form1 drop column 列名;
mysql查询的五种子句
where(条件查询)、having(筛选)、group by(分组)、order by(排序)、limit(限制结果数)
1、查询数值型数据:
SELECT * FROM tb_name WHERE sum > 100;
查询谓词:>,=,<,<>,!=,!>,!<,=>,=<
2、查询字符串
SELECT * FROM tb_stu WHERE sname = 'Xiao Liu'
SELECT * FROM tb_stu WHERE sname wie 'Liu%'
SELECT * FROM tb_stu WHERE sname wie '%programmer'
SELECT * FROM tb_stu WHERE sname like '%PHP%'
3. Datumstypdaten abfragen
SELECT * FROM tb_stu WHERE date = '2011 - 04-08'
Hinweis: Verschiedene Datenbanken weisen Unterschiede in den Datumsdaten auf: :
(1)MySQL: SELECT * from tb_name WHERE birthday = '2011-04-08'
(2)SQL Server:SELECT * from tb_name WHERE birthday = '2011-04-08'
(3)Access:SELECT * from tb_name WHERE birthday = #2011-04-08#
4. Logische Daten abfragen
SELECT * FROM tb_name WHERE type = 'T'
SELECT * FROM tb_name WHERE type = 'F'
Logische Operatoren: und oder nicht
5. Nicht leere Daten abfragen
SELECT * FROM tb_name WHERE address <>'' order by addtime desc
Hinweis: <> entspricht !=
in PHP 6. Verwenden Sie Variablen, um numerische Daten abzufragen
SELECT * FROM tb_name WHERE id = '$_POST[text]'
Hinweis: Wenn Variablen zum Abfragen von Daten verwendet werden, müssen die an SQL übergebenen Variablen nicht in Anführungszeichen gesetzt werden, da bei der Verbindung von Zeichenfolgen in PHP mit numerischen Daten The Das Programm wandelt die numerischen Daten automatisch in eine Zeichenfolge um und verbindet sie dann mit der zu verbindenden Zeichenfolge
7. Verwenden Sie Variablen, um Zeichenfolgendaten abzufragen
SELECT * FROM tb_name WHERE name LIKE '%$_POST[name]%'
Die exakte Übereinstimmungsmethode „%%“ bedeutet, dass es überall erscheinen kann
Fragen Sie die ersten n Datensätze ab
SELECT * FROM tb_name LIMIT 0,$N;
limit-Anweisung wird in Verbindung mit anderen Anweisungen verwendet, z. B. order by und anderen Anweisungen, und die SQL-Anweisungen werden in a verwendet Unzählige Möglichkeiten, was das Programm sehr flexibel macht
9. Nach der Abfrage von n Datensätzen
SELECT * FROM tb_stu ORDER BY id ASC LIMIT $n
10. Die Abfrage beginnt an der angegebenen Position n Datensätzen von
SELECT * FROM tb_stu ORDER BY id ASC LIMIT $_POST[begin],$n
Hinweis: die Die ID der Daten beginnt bei 0
11. Fragen Sie die ersten n Datensätze in den statistischen Ergebnissen ab
SELECT * ,(yw+sx+wy) AS total FROM tb_score ORDER BY (yw+sx+wy) DESC LIMIT 0,$num
12 Fragen Sie die Daten der angegebenen Zeit ab Zeitraum
SELECT Zu findendes Feld FROM Tabellenname WHERE Feldname ZWISCHEN Anfangswert UND Endwert
SELECT * FROM tb_stu WHERE Alter ZWISCHEN 0 UND 18
13. Statistische Daten nach Monat abfragen
SELECT * FROM tb_stu WHERE Month(date) = '$_POST[date]' ORDER BY date ;
Hinweis: SQL-Sprache bietet Die folgenden Funktionen können verwendet werden, um einfach nach Jahr, Monat und Tag
year(data) abzufragen: Geben Sie den Wert zurück, der dem AD-Jahr und der AD-Minute im Datenausdruck
month (data) entspricht ): Gibt den Wert zurück, der dem Monat und der Minute im Datenausdruck
entspricht. Tag (Daten): Gibt den Wert zurück, der dem Datum im Datenausdruck entspricht
14. Datensätze abfragen größer als die angegebene Bedingung
SELECT * FROM tb_stu WHERE age>$_POST[age] ORDER BY age;
15. Die Abfrageergebnisse zeigen keine doppelten Datensätze
SELECT DISTINCT Feldname FROM Tabellenname WHERE Abfragebedingung
Hinweis: DISTINCT in der SQL-Anweisung muss in Verbindung mit der WHERE-Klausel verwendet werden, sonst ändern sich die Ausgabeinformationen nicht und die Feld kann nicht verwendet werden *Ersetzen Sie
16. Abfrage der kombinierten Bedingungen von NOT und Prädikat
(1)NOT BERWEEN … AND … für Daten zwischen dem Startwert und dem Endwert Die Zeilenabfrage kann geändert werden in
(2)IS NOT NULL Abfrage für Nicht-Null-Werte
(3)IS NULL Abfrage für Null Werte
(4)NOT IN Diese Formel gibt die Suche nach einem Ausdruck basierend darauf an, ob das verwendete Schlüsselwort in der Liste enthalten oder aus der Liste ausgeschlossen ist. Der Suchausdruck kann eine Konstante oder ein Spaltenname sein Der Spaltenname kann eine Reihe von Konstanten sein, häufiger handelt es sich jedoch um eine Unterabfrage
17. Zeigt die doppelten Datensätze und die Anzahl der Datensätze in der Datentabelle an
SELECT name,age,count( *),age FROM tb_stu WHERE age = '19' group by date
18. Daten in absteigender/aufsteigender Reihenfolge abfragen
SELECT Feldname FROM tb_stu WHERE Bedingung ORDER BY Feld DESC absteigende Reihenfolge
SELECT Feldname FROM tb_stu WHERE Bedingung ORDER BY Feld ASC aufsteigende Reihenfolge
Hinweis: Wenn die Sortiermethode beim Sortieren von Feldern nicht angegeben wird, Die Standardeinstellung ist aufsteigende ASC-Reihenfolge.
19. Führen Sie eine Abfrage mit mehreren Bedingungen für Daten durch. .
Hinweis: Die Sortierung mit mehreren Bedingungen dient dazu, die Ausgabe von Datensätzen gemeinsam einzuschränken. Da sie nicht durch eine einzelne Bedingung eingeschränkt ist, gibt es im Allgemeinen einige Unterschiede im Ausgabeeffekt.20. Statistische Ergebnisse sortieren
Die Funktion SUM ([ALL] Feldname) oder SUM ([DISTINCT] Feldname) kann die Summe der Felder ermitteln ALL, es ist die Summe aller Datensätze in diesem Feld. Wenn es DISTINCT ist, ist es die Summe aller Felder aller nicht doppelten Datensätze in diesem Feld
Zum Beispiel: SELECT name, SUM (price ) AS sumprice FROM tb_price GROUP BY name
SELECT * FROM tb_name ORDER BY mount DESC,price ASC
21. Einspaltige Datengruppenstatistik
SELECT id,name,SUM(price) AS title,date FROM tb_price GROUP BY pid ORDER BY title DESC
Hinweis: Wenn die Anweisung „group by sorting order by“ gleichzeitig in der SQL-Anweisung erscheint, wird die Gruppierung angezeigt Die Anweisung muss vor der Sortieranweisung geschrieben werden, andernfalls tritt ein Fehler auf
22 Statistiken zur Datengruppierung mit mehreren Spalten
Statistiken zur Datengruppierung mit mehreren Spalten sind ähnlich zu einspaltigen Datengruppierungsstatistiken
SELECT *, SUM( Field 1*Field 2) AS (new field 1) FROM table name GROUP BY field ORDER BY new field 1 DESC
SELECT id ,name,SUM(price*num) AS sumprice FROM tb_price GROUP BY pid ORDER BY sumprice DESC
Hinweis: Auf die Anweisung „group by“ folgt im Allgemeinen eine Sequenz, die keine Aggregatfunktion ist, d. h. sie ist es keine zu gruppierende Spalte
23. Gruppierungsstatistiken für mehrere Tabellen
SELECT a.name,AVG(a.price),b.name,AVG(b .price) FROM tb_demo058 AS a,tb_demo058_1 AS b WHERE a.id=b.id GROUP BY b.type;
Das Obige ist der Inhalt von MySQL und der Anweisungssammlung. Weitere verwandte Inhalte finden Sie hier zur chinesischen PHP-Website (www.php.cn)!