deepin下安装教程
mac 下安装教程
参考 https://blog.csdn.net/w605283073/article/details/80417866
https://www.runoob.com/mysql/mysql-install.html
查看数据库命令
brew install mysqlbrew services start mysql启动:mysql.server startmysql -u root -p重置root密码mysqladmin -u root password "new_password";mysql>show databases;//可以查看有哪些数据库,返回数据库名(databaseName)
教程
数据库的创建与修改
创建删除数据库
菜鸟教程:http://www.runoob.com/mysql/mysql-create-database.html
create DATABASE RUNOOB; //创建一个名为 RUNOOB的数据库解决中文问题:create DATABASE yqy CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';drop database RUNOOB; //删除一个名为 RUNOOB的数据库选择了 RUNOOB 数据库,在后续的操作中都会在 RUNOOB 数据库中执行use RUNOOB;
数据类型
http://www.runoob.com/mysql/mysql-data-types.html
创建删除数据表
以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (column_name column_type);创建一个表单 表单名字(列名,列的类型)以下例子中我们将在 RUNOOB 数据库中创建数据表runoob_tbl:
CREATE TABLE IF NOT EXISTS `runoob_tbl`(`runoob_id` INT UNSIGNED AUTO_INCREMENT,`runoob_title` VARCHAR(100) NOT NULL,`runoob_author` VARCHAR(40) NOT NULL,`submission_date` DATE,PRIMARY KEY ( `runoob_id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;
实例解析:
- 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
- AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
- PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
- ENGINE 设置存储引擎,CHARSET 设置编码。
删除 DROP TABLE table_name ;
插入数据
语法: INSERT INTO table_name ( field1, field2,…fieldN ) VALUES ( value1, value2,…valueN );实例:```bash mysql> use RUNOOB; Database changed mysql> INSERT INTO runoob_tbl -> (runoob_title, runoob_author, submission_date) -> VALUES -> (“学习 PHP”, “菜鸟教程”, NOW()); Query OK, 1 rows affected, 1 warnings (0.01 sec) mysql> INSERT INTO runoob_tbl -> (runoob_title, runoob_author, submission_date) -> VALUES -> (“学习 MySQL”, “菜鸟教程”, NOW()); Query OK, 1 rows affected, 1 warnings (0.01 sec) mysql> INSERT INTO runoob_tbl -> (runoob_title, runoob_author, submission_date) -> VALUES -> (“JAVA 教程”, “RUNOOB.COM”, ‘2016-05-06’); Query OK, 1 rows affected (0.00 sec) mysql>
<a name="0d7a0d5c"></a>#### 读取数据表`select * from runoob_tbl;`<br /><a name="4170abe6"></a>### 数据库的查询数据SELECT column_name,column_nameFROM table_name[WHERE Clause][LIMIT N][ OFFSET M]- 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。- SELECT 命令可以读取一条或者多条记录。- 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据- 你可以使用 WHERE 语句来包含任何条件。Clause 是条件的意思- 你可以使用 limit 属性来设定返回的数据条数。- 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。> SELECT field1, field2,...fieldN FROM table_name1, table_name2...> [WHERE condition1 [AND [OR]] condition2.....**可以并推荐使用括号**```bashmysql> SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程' and runoob_id=1 or runoob_id=3;+-----------+--------------+---------------+-----------------+| runoob_id | runoob_title | runoob_author | submission_date |+-----------+--------------+---------------+-----------------+| 1 | 学习 PHP | 菜鸟教程 | 2019-01-05 || 3 | JAVA 教程 | RUNOOB.COM | 2016-05-06 |+-----------+--------------+---------------+-----------------+2 rows in set (0.00 sec)mysql> SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程' and (runoob_id=1 or runoob_id=3);+-----------+--------------+---------------+-----------------+| runoob_id | runoob_title | runoob_author | submission_date |+-----------+--------------+---------------+-----------------+| 1 | 学习 PHP | 菜鸟教程 | 2019-01-05 |+-----------+--------------+---------------+-----------------+1 row in set (0.02 sec)
like匹配
https://blog.csdn.net/nangeali/article/details/74858171?foxhandler=RssReadRenderProcessHandler
使用% (粗匹配)或 _ (细匹配),使用反斜杠\转义,可以混合使用,LIKE之前,可以使用NOT关键字查询不匹配的数据。
pymysql
连接并查询
http://www.runoob.com/python3/python3-mysql.html
#!/usr/bin/python3import pymysql# 打开数据库连接db = pymysql.connect("localhost","root","a123123","RUNOOB" )# 使用cursor()方法获取操作游标cursor = db.cursor()# SQL 查询语句sql = "SELECT * FROM runoob_tbl \WHERE runoob_id > %s" % (2)try:# 执行SQL语句cursor.execute(sql)# 获取所有记录列表results = cursor.fetchall()for row in results:ids = row[0]title = row[1]author = row[2]# 打印结果print ("id=%s,title=%s,author=%s" % \(ids, title, author))except:print ("Error: unable to fetch data")# 关闭数据库连接db.close()
其他
查看数据库存放位置
show global variables like “%datadir%”;
